redux是JavaScript状态管理,提供了可以预测的状态管理。redux的组成分为三大部分,分别是tstore、reducer和action。
store,是应用唯一的状态数据源,而且只读;
action,就是定义对操作变化的描述;
reducer,是一个纯函数,对操作变化进行分发和处理,把最新的数据返回给store。
redux整个工作流程中,数据流是单向的,想要修改数据,只有一个方法,那就是通过触发action,action被reducer读取,reducer再根据action来执行不同的计算逻辑,最后生成新的数据,这个数据会更新到store对象中,从而驱动视图的变化。
对于任何组件来说,都是可以从store中读取的全局状态,同时组件可以通过派发action来修改全局状态,这样整个应用的数据可以在任何组件之间流通。
createStore方法就是创建store对象,是redux工作流程的入口。首先我们需要定义应用的全局状态,比如用户名:
user.ts
const userState = {userName: