pdl 的个人博客

记录精彩的程序人生

Open Source, Open Mind,
Open Sight, Open Future!
  menu
123 文章
0 评论
1275 浏览
1 当前访客
ღゝ◡╹)ノ❤️

改变了props没触发render方法解决方案

原因: 如果复制一个很复杂的对象给 state 或者 props 后, 由于 js未深拷贝 导致的

解决:

  1. 触发了 state 或者 props 后, 手动调用 this.forceUpdate() 方法来强制更新渲染
  2. 深拷贝数据, 再赋值更新 state 或者 props, 可以使用如下示例代码:
import _ from "lodash"

let newData = _.cloneDeep(复杂数据)
this.props.dispatch({
    type: "",
    payload: {data: newData}
})


标题:改变了props没触发render方法解决方案
作者:pengdongliang
地址:https://www.p0d0.com/articles/2019/09/17/1573740598919.html

评论