Redux 如何改善预测性

可预测性

Redux 以多种方式提高了Web应用程序的可预测性。 我们从上一节(什么是Redux /它为何会存在?)中看到,数据被合并到一个集中的位置:store。 组件不能直接修改 store 中的数据;相反,他们必须请求访问这些数据。 此外,store 如何更新也有严格的规定。

因此,你总是知道状态来自哪里(store),以及允许哪一个唯一实体触发更新(action)到该状态。

另一种看待 Redux 的方式是它提供了一个严格的 单向数据流 / 英。 我们将在下一课中深入探讨这些独特的元素,但是主要原则与React的主要原则并没有太大的区别。

单向数据流概述

回顾 React 的核心功能之一,单向数据流:

数据从父组件向下流到子组件。数据更新被发送到父组件,父组件进行实际的更新

在上图中,数据存储在父组件中。如果子组件也需要使用该数据,该数据可以向下传递给子组件。任何更新都向上发送给父组件,由父组件做出更新,更新后的数据再向下发送给子组件。

React 的单向数据流功能很强大,但是当处理深度嵌套的组件结构时,就会出现问题:


例如这个嵌套组件结构,其中属性必须经由很多组件向下传递,才能显示出来

对于深度嵌套的组件结构,数据必须途经 所有 中间组件才能向下传递到目标对象!

总结

Redux 以多种方式提高可预测性:

  • 它将大多数数据整合到一个位置
  • 组件必须请求访问数据
  • store 中的数据流向一个方向
  • store 更新有着严格的规则

Redux 秉承了 React 采用的 单一数据流结构。我们将在下一课中,深入讲解这部分内容!

更多资料

  • Redux 文档的 数据流 / 英 部分

你可能感兴趣的:(Redux 如何改善预测性)