【发布时间】:2021-03-02 22:53:26
【问题描述】:
当用户单击它们时,我正在尝试更新一行按钮。我将按钮存储在我映射的状态中。当我 console.log 我可以看到网格状态发生变化,但它不会重新呈现我的按钮。我哪里错了?
const Step = ({ active, changeGridByVal, val }) => {
return <>
<button onClick={() => changeGridByVal(val)}>{active ? 'X' : 'O'}</button>
</>
}
const TryPage = () => {
const [grid, setGrid] = useState([
['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
])
function changeGridByVal(val){
const note = val[0]
const step = val.substring(2)
const copy = grid
copy[note][step] = 'X'
setGrid(copy)
console.log(grid)
}
return <>
{grid[0].map((e, i) => {
return <Step key={i} val={`0-${i}`} changeGridByVal={changeGridByVal} active={e === '' ? false : true}></StepNote>
})}
</>
}
【问题讨论】:
标签: reactjs react-hooks state