可预测性
Redux 以多种方式提高了Web应用程序的可预测性。 我们从上一节(什么是Redux /它为何会存在?)中看到,数据被合并到一个集中的位置:store。 组件不能直接修改 store 中的数据;相反,他们必须请求访问这些数据。 此外,store 如何更新也有严格的规定。
因此,你总是知道状态来自哪里(store),以及允许哪一个唯一实体触发更新(action)到该状态。
另一种看待 Redux 的方式是它提供了一个严格的 单向数据流 / 英。 我们将在下一课中深入探讨这些独特的元素,但是主要原则与React的主要原则并没有太大的区别。
单向数据流概述
回顾 React 的核心功能之一,单向数据流:
在上图中,数据存储在父组件中。如果子组件也需要使用该数据,该数据可以向下传递给子组件。任何更新都向上发送给父组件,由父组件做出更新,更新后的数据再向下发送给子组件。
React 的单向数据流功能很强大,但是当处理深度嵌套的组件结构时,就会出现问题:
对于深度嵌套的组件结构,数据必须途经 所有 中间组件才能向下传递到目标对象!
总结
Redux 以多种方式提高可预测性:
- 它将大多数数据整合到一个位置
- 组件必须请求访问数据
- store 中的数据流向一个方向
- store 更新有着严格的规则
Redux 秉承了 React 采用的 单一数据流结构。我们将在下一课中,深入讲解这部分内容!