版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Solitarily/article/details/85934487
React数据管理
父子关系的组件:
数据传递方式是自顶向下的,一般通过props让子组件拿到父组件的数据
非父子关系的组件:
- 依靠状态提升来和兄弟元素进行数据交互
- 通过发布订阅模式做数据交互
- Redux等数据管理工具
1 状态提升方式
业务层级很深的话不适合,但扁平化或数据通信都在父子间通信就很适合。
2 发布订阅方式
当业务量很大的时候,发布订阅方式下的事件是暴露的,容易造成事件之间的冲突和混乱,另外把数据放在各个组件中会造成数据冗余。
3 Redux单向数据流
像是把状态提升方式和发布订阅方式结合在一起。
4 应用场景
- 状态提升:组件层级扁平,兄弟组件通信情况很少
- 发布订阅:业务规模较小,层级较深的业务
- Redux:业务复杂,组件层级较深,兄弟组件通信密切