1 回答

TA貢獻1936條經驗 獲得超7個贊
干得好。我玩過它,這應該給你一個很好的方向。(注意:您需要使用 [...values] 創建一個新數組而不是引用舊數組,以便 UI 重新呈現)。
import React, {useState, useEffect} from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
const [sign,setSign] = useState(true);
const [values, setValues] = useState([["", " ", " "],[" ", " ", " "],[" ", " ", " "]]);
function updateValue(row, column){
var newValue = [...values];
newValue[row][column] = sign == true ? "X" : "O";
setSign(!sign);
setValues(newValue);
}
return (
<div>
<table>
<tbody>
<tr>
<td onClick={() => updateValue(0,0)}>{values[0][0]}</td>
<td onClick={() => updateValue(0,1)}>{values[0][1]}</td>
<td onClick={() => updateValue(0,2)}>{values[0][2]}</td>
</tr>
<tr>
<td onClick={() => updateValue(1,0)}>{values[1][0]}</td>
<td onClick={() => updateValue(1,1)}>{values[1][1]}</td>
<td onClick={() => updateValue(1,2)}>{values[1][2]}</td>
</tr>
<tr>
<td onClick={() => updateValue(2,0)}>{values[2][0]}</td>
<td onClick={() => updateValue(2,1)}>{values[2][1]}</td>
<td onClick={() => updateValue(2,2)}>{values[2][2]}</td>
</tr>
</tbody>
</table>
</div>
);
}
export default App;
添加回答
舉報