React实践

本文最后更新于:2023年3月23日 凌晨

React

  • 在redux中,全局state必须是immutable的,这点毋庸置疑是我们使用immutable来优化redux的核心

  • 组件props是通过redux的connect从state中获得的,并且引入immutableJS的另一个目的是减少组件shouldComponentUpdate中不必要渲染,shouldComponentUpdate中比对的是props,如果props是原生JS就失去了优化的意义

  • 组件内部state如果需要提交到store的,必须是immutable,否则不强制

  • view提交到action中的数据必须是immutable

  • Action提交到reducer中的数据必须是immutable

  • reducer中最终处理state必须是以immutable的形式处理并返回

  • 与服务端ajax交互中返回的callback统一封装,第一时间转换成immutable数据

  • 当使用 Immutable.JS 的 update,merge 或 set 方法将一个 JavaScript 对象添加到一个 Immutable.JS 的 Map 或者 List 中时,要确保被添加的对象事先使用了 fromJS() 转为一个 Immutable 的对象。

  • toJS() 是一个昂贵(性能)的函数,并且与使用 Immutable.JS 的目的相违背。避免使用它。

  • 绝对不要在 mapStateToProps 中使用 toJS()


React实践
https://www.zwjay.cn/2023/03/23/2023-03-23-React实践/
作者
Mr.Jaxson
发布于
2023年3月23日
许可协议