在Useeffect函数中设置状态值,并希望在过滤器函数中使用该值,但状态显示为空值意味着更新状态较晚,如何解决此错误
setState是一个异步函数。让我们举个例子const [testState, setTestState] = useState()
和在useEffect中,如果你调用setTestState('1234')
,下一行你尝试记录console.log(testState)
-这不会记录'123'
,因为setTestState
是异步的,这正在你的情况下发生。
解决方案——
将过滤器函数放在不同的useEffect
中,并在依赖数组中传递状态