H5W3
当前位置:H5W3 > 其他技术问题 > 正文

react hook的setState怎么保证更新呢

RT,有一个商品列表,我需要在列表上改写商品订单的状态,所以我用一个state保存当前操作的state的ID,但是因为state是异步更新我使用setState后state会出现旧值。我到setTimeout里面在下一轮循环使用这个state依然不会更新?

setCurrentId(id) // 设置当前ID
// 紧接着异步操作
setTimeout(() => {
post({
currentId
}).then(() => {
// ...
})
})

回答

当状态发生改变,你可以使用useEffect来触发更新

// 后面参数currentId是可选的,如果有,则在currentId变化时触发
useEffect(() => {
    setCurrentId(id)
}, [currentId])

本文地址:H5W3 » react hook的setState怎么保证更新呢

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址