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    官方地址

  • 相关阅读:
    centos 添加 composer
    laravel5 缓存的使用
    git 的使用
    php 消息队列 rabbitmq 的安装使用
    vue插件大汇总
    vue 2.0 Gzip打包压缩
    Easy Mock 为啥那么打不开了?
    element ui 打印 表格
    解决 element 日期范围选择问题(只能选择相邻的 连两个月)
    vue router 的路由传参 params 和 query 的 区别
  • 原文地址:https://www.cnblogs.com/asenper/p/9896653.html
Copyright © 2011-2022 走看看