react 数据变更不触发试图更新

2021-07-13  本文已影响0人  变量只提升声明不提升赋值

不要在原引用上做数据修改,应该给原数据赋值一个新的值

that.specsList.forEach(d => {
          if (d.key == data.key) {
            d.img_url = res.cover
          }
        })

上面的代码中,直接在原数据身上做修改。react是不会重新触发render函数的。
需要给原数据一个新的值

   that.specsList = that.specsList.map(d => {
          if (d.key == data.key) {
            d.img_url = res.cover
          }
          return d
        })

这样,给他重新附了一个值,视图就会更新了

上一篇 下一篇

猜你喜欢

热点阅读