问题:
更改 useState 后,点击按钮时,该数据未发生变化或者为上一次修改的值。
解决:
如果使用了 HOOKS ,请检查第二个参数 []
是否关联了别的数据,而且并没有关联需要的数据。
总结:
- 不熟悉 HOOKS 参数的使用
- 粗心大意
代码
const [method, setMethod] = useState()
useEffect(() => {
// 根据是否获取id判断为增加还是修改
setMethod() // 具体代码略
},[])
const click = useCallback(() => {
// 执行代码
}, [id])
// 具体原因就是因为这里是根据 id 的变化而缓存的
// 所以对于其他的数据来说,永远保持刚进入页面渲染时的样子
更正 =>
const click = useCallback(() => {}, [id,method]) // 加上对需要数据的侦测
网友评论