Redux—redux-thunk— action里处理异步,封装详细步骤,适合初学者。

初学redux确实觉得很绕,因为封装的文件夹多容易乱。下面时我整理的步骤。

1、下载

npm install --save redux

2、创建store文件夹

在src目录下创建store文件夹并在此文件夹下创建一下文件:
2.1、index.js
用来存放store实例
2.2、HomeReducer.js
用来存放Home页面的数据
3.3、reducer.js
用来合并数据
4.4、actionCreate.js
用来封装任务
在这里插入图片描述

3、创建store实例并引入reducer

在这里插入图片描述

4、HomeReducer.js,就是专门为Home页面创建的数据,当然其他页面也可以进行访问。其中包含我们对数据的操作。

Action 是把数据从应用传到 store 的有效载荷。唯一改变 state 的方法就是触发 action。一般来说你会通过 store.dispatch() 将 action 传到 store。
action.js由在页面调用第6步的任务时返回,返回值决定了我们对数据的操作逻辑。
在这里插入图片描述

5、reducer.js,引入combineReducers、引入HomeReducer.js中的数据

5.1、combineReducers用来惊醒数据合并,因为我们现在值创建了一个页面的数据,后续还会多个页面也需要创建数据,合并也是为了集中管理,后期我们号调用,所以进行合并。
在这里插入图片描述

6、对任务进行封装

封装的话是因为,如果我们做起来来项目,会有很多任务,如果都写在组件里面不好查找,容易重复,封装在一个文件里面可以避免这些。用的时候在对应的页面引入就行。
在这里插入图片描述

7、在页面调用store中的数据

7.1、引入store实例
7.2、引入reducer.js中合并的Home页面数据
7.3、调用action
7.4、将store中的数据赋值给state方便调用
7.5、用store.subscribe监听store中数据是否由变化,如果由变化就更新数据
在这里插入图片描述

8、至此简单的封装完毕,如果还由多个页面需使用redux需要怎么做,其实跟上面的写法时一样的,接下来接着上详细步骤。

1、例如我们现在由一个Phone也许要用使用redux,那我我们就在store文件下创建一个PhoneReducer.js。
在这里插入图片描述
2、同样我们也需要对任务进行封装
在这里插入图片描述
3、在reducer.js中引入PhoneReducer.js合并数据
在这里插入图片描述
4、在页调用
在这里插入图片描述

9、action中异步处理

未完待续…