改变了props没触发render方法解决方案
2019-11-14 07:46:24    11    0    0
admin

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

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

  1. import _ from "lodash"
  2. let newData = _.cloneDeep(复杂数据)
  3. this.props.dispatch({
  4. type: "",
  5. payload: {data: newData}
  6. })

Pre: react ref(父组件访问子组件, 除了props)

Next: react常用npm插件

11
Sign in to leave a comment.
No Leanote account? Sign up now.
0 comments
Table of content