const [liveRows, setLiveRows] = useState([]); function addRow(arr){ setLiveRows([...liveRows, arr]); console.log(liveRows) }
当我使用一个数组运行addRow函数时,页面中使用的Map重新呈现得很好,但是日志中的数组显示为空。再次运行该函数将显示更新前阵列的先前状态,但重新渲染显示正确。我假设这是由于蔓延,但我不知道如何纠正它?
6kkfgxo01#
这是预期行为。setState不是异步的! setState始终在下一次呈现之后工作。
详情请参阅:https://beta.reactjs.org/reference/react/useState
1条答案
按热度按时间6kkfgxo01#
这是预期行为。setState不是异步的! setState始终在下一次呈现之后工作。
详情请参阅:https://beta.reactjs.org/reference/react/useState