凡尘---middleware---redux-promise-middleware---凡尘

Posted nanianqiming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了凡尘---middleware---redux-promise-middleware---凡尘相关的知识,希望对你有一定的参考价值。

一、Middleware的由来

 

单一的state是存储在store中,当要对state进行更新的时候,首先要发起一个action(通过dispatch函数),action的作用就是相当于一个消息通知,用来描述发生了什么(比如:增加一个Todo),然后reducer会根据action来进行对state更新,这样就可以根据新的state去渲染View

 

当然上面仅仅是发生同步Action的情况下,如果是Action是异步的(例如从服务器获取数据),那么情况就有所不同了,必须要借助Redux的中间件Middleware

 

官方的解释:Redux的中间件是在发起一个actionaction到达reducer的之间提供的第三方扩展,中间件的使用在actionstore.dispatch之间进行使用

 

二、redux-promise

store.dispatchactionpayload属性可以放promise对象

 

使用方法:

(1)、引入

import {createStore,applyMiddleware} from "redux";

import promiseMiddleware from "redux-promise-middleware";

 

(2)加入中间件

const store = createStore(reducer, applyMiddleware( promiseMiddleware() ) )

 

(3)、在action中编写异步action

技术分享图片

注意:这个异步的action会传递过来两个type信息  第一个是ADD_ITEM_PENDING   第二个是ADD_ITEM_FULFILLED,当在ADD_ITEM_PENDING 我们可以做一个Loding动画,当ADD_ITEM_FULFILLED的时候我们可以将数据加载到页面上

 

(4)、组件中使用

技术分享图片

 

 

学习地址:https://github.com/pburtchaell/redux-promise-middleware

以上是关于凡尘---middleware---redux-promise-middleware---凡尘的主要内容,如果未能解决你的问题,请参考以下文章

凡尘:关于Applycallbind的详解

凡尘---redux---react

vue---Object.defineProperty基本使用---凡尘

凡尘---webpack配置非CMD规范的模块

凡尘---vue项目打包---基本使用---vue

凡尘---json-server---基本使用