美文网首页
小记:useState更新后无法获取变化

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

作者: 网恋被骗二块二 | 来源:发表于2022-02-25 14:13 被阅读0次

问题:

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

解决:

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

总结:

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

代码

const [method, setMethod] = useState()

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

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

更正 =>

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

相关文章

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

    问题: 更改 useState 后,点击按钮时,该数据未发生变化或者为上一次修改的值。 解决: 如果使用了 HOO...

  • react hook小记

    useState useState 返回的第一个值将始终是更新后最新的 state,并且与 class 组件中的 ...

  • CentOS6克隆后的网络配置

    克隆后的CentOS6系统,由于硬件信息已经变化导致一部分功能不可用。最明显的就是网卡MAC的更新,无法获取有效的...

  • 个人踩坑

    .net Core 2.1 后 Session保存,新页面获取不到值 [关于Adapter无法更新数据](http...

  • [react]9、setState

    1、获取setState异步更新后的结果 1、setState更新后一个回调函数,可以通过回调函数获取更新后的值 ...

  • 路由变化,数据无法更新?

    问题: 解释: 针对这种情况可以使用三种方式解决 1、为相同路由页面跳转进行中间路由替换,在router上注册be...

  • useState动态更新数据

    问题数组渲染组件,每一个都使用useState太冗余了,特别是表单填写的时候。 解决方法对象的扩展运算符 对象的扩...

  • 关于vue.nextick的一点总结

    先来个图解: 简单的来说,Vue更新DOM是要等数据全部变化完成后异步来更新的。所以要获取DOM元素需要写在thi...

  • v-for无法在获取数据后更新dom

    在axios获取数据后,数据成功修改,但是dom依然没有刷新,代码如下: 选择列表仍未空,显示no-data 之后...

  • Vue-- 监听路由变化,数据无法更新?

    Vue-- 监听路由变化,数据无法更新?

网友评论

      本文标题:小记:useState更新后无法获取变化

      本文链接:https://www.haomeiwen.com/subject/vhyxrrtx.html