【发布时间】:2020-12-22 01:00:35
【问题描述】:
我有这个功能:
const [numbers, setNumbers] = useState([]);
const [rows, setRows] = useState([]);
const addRow = () => {
setNumbers([...numbers, numbers.length+1]);
setRows([...rows,
<NewGradeRow key={numbers[numbers.length-1]} number={numbers[numbers.length-1]}/>]);
}
应该添加新行。它应该向 numbers 挂钩添加一个新值,然后使用 numbers 挂钩中的新值在 rows 挂钩中添加一个新行。它虽然同步运行,但新行不使用赋予 numbers 挂钩的新值。我该如何解决这个问题?
【问题讨论】:
-
考虑仅将数据存储在 state 中,并使用它从组件中返回 React 元素 (JSX),not storing React elements in state itself。
标签: javascript reactjs react-hooks use-state