在redux中,核心组件包括Action、Reducer、Store和Middleware。
Action是一个普通的JavaScript对象,用于描述发生了什么事件。它必须包含一个type属性,用于标识事件的类型。可以在Action中添加其他自定义的属性来传递数据。
Reducer是一个纯函数,用于根据收到的Action来更新应用的状态(State)。它接收两个参数,当前的状态和收到的Action,然后返回一个新的状态。Reducer必须是纯函数,意味着给定相同的输入,它会始终返回相同的输出,而且不会有任何副作用。
Store是用于存储应用状态的地方。它是Redux应用的唯一数据源,可以通过getState方法获取当前状态,通过dispatch方法触发Action,通过subscribe方法注册监听器来监听状态的变化。
Middleware允许在dispatch一个Action到达reducer之前,对Action进行一些处理。它可以用来处理异步操作、日志记录、错误处理等。Middleware是通过包装store的dispatch方法来实现的。
Reducer的作用是根据收到的Action来更新应用的状态。它根据当前的状态和收到的Action返回一个新的状态。Reducer将多个小的reducer函数组合成一个根reducer函数,来管理整个应用的状态。每个reducer函数负责管理应用状态的一部分,然后根reducer将这些部分的状态合并成一个完整的应用状态。
参考: https://blog.csdn.net/XiaoSen125_/article/details/136183275
https://blog.csdn.net/2401_84092143/article/details/137371206