小记:useState更新后无法获取变化

2022-02-25  本文已影响0人  网恋被骗二块二

问题:

更改 useState 后,点击按钮时,该数据未发生变化或者为上一次修改的值。

解决:

如果使用了 HOOKS ,请检查第二个参数 [] 是否关联了别的数据,而且并没有关联需要的数据。

总结:

  1. 不熟悉 HOOKS 参数的使用
  2. 粗心大意

代码

const [method, setMethod] = useState()

useEffect(() => {
// 根据是否获取id判断为增加还是修改
setMethod()  // 具体代码略 
},[])

const click = useCallback(() => {
// 执行代码
}, [id])
// 具体原因就是因为这里是根据 id 的变化而缓存的
// 所以对于其他的数据来说,永远保持刚进入页面渲染时的样子

更正 =>

const click = useCallback(() => {}, [id,method]) // 加上对需要数据的侦测
上一篇 下一篇

猜你喜欢

热点阅读