【发布时间】:2020-03-29 21:37:03
【问题描述】:
【问题讨论】:
-
最好将代码以文本形式而不是图像形式发布(参见minimal reproducible example)。
-
setState 是异步的,因此不会立即看到效果。
标签: reactjs react-hooks
【问题讨论】:
标签: reactjs react-hooks
在 React 中更新状态不是同步操作。 它是用于优化的异步(将更改组合在一起并且只更改一次状态)。
您可以使用useEffect 对更改做出反应:
useEffect(() => { console.log(state)}, [state])
或者您可以在return 中显示您的state(每次重新渲染组件时都会调用return,由于useState 调用,组件会重新渲染)。
【讨论】:
react 中更新状态是一个异步操作。相反,您应该注销 useEffect 中的数据。
useEffect(() => {
console.log(state)
}, [state]);
【讨论】: