zoukankan      html  css  js  c++  java
  • 【React】----redux-promise-middlewarw

    转载于 这里

    一、安装

      cnpm install  redux-promise-middleware --save-dev

    二、Middleware的由来

     

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

     

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

     

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

     

    三、redux-promise

    store.dispatch的action的payload属性可以放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    官方地址

  • 相关阅读:
    可以foreach的 必须继承IEnumable 接口才行
    .net 委托的用法
    匿名类的使用
    检测到有潜在危险的 Request.Form 值——ValidateRequest的使用
    IsPostBack用法
    Ajax 与 jquery
    好用的模板引擎NVelocity
    题解【AcWing275】[NOIP2008]传纸条
    题解【AcWing274】移动服务
    题解【AcWing271】杨老师的照相排列
  • 原文地址:https://www.cnblogs.com/asenper/p/9896653.html
Copyright © 2011-2022 走看看