用通俗易懂的方式解释 Redux 的工作原理

在 React 组件之间传递数据往往感觉像是在玩“传声筒”游戏。你将数据从父组件传给子组件,再传给孙组件。随着应用的增长,这会变得非常混乱。

Redux 解决了这个问题。它创建了一个“单一事实来源”(single source of truth)。数据不再是零散分布的,而是统一存储在一个中央保险库中。

可以通过一家咖啡店来理解 Redux。

The Store (保险库) 这是店铺的账本。它记录着咖啡豆的数量、订单以及员工名单。

The Action (订单) 顾客不会直接从柜台上拿走一杯拿铁,而是会下单。Action 是一个简单的对象,用于描述发生了什么。 示例:{ type: 'ADD_TODO', text: 'Buy Milk' }

The Reducer (咖啡师) 咖啡师是唯一有权更新账本的人。他们接收当前状态(state)和新订单,然后创建一个新版本的账本。

The Dispatch (收银员) 收银员接收你的订单并将其交给咖啡师。Dispatch 是将你的 Action 发送到 Store 的函数。

为什么要使用 Redux?

随着你的应用扩展到包含用户资料或购物车,中央 Store 会让调试变得非常容易。你可以查看 Action 历史记录,了解数据何时以及为何发生了变化。它就像是你网站的“飞行记录仪”。

总结:

• Action:描述变更的备注。 • Reducer:执行变更的逻辑。 • Dispatch:将 Action 发送到逻辑层的触发器。

Source: https://dev.to/code_with_aravind/how-redux-works-in-simple-terms-1pkp