react-redux 中异步action的解决方法

把网络请求放入action里面会出错
解决方式通过异步中间件 redux-thunk redux-sage redux-promise …

  1. 安装异步插件 npm install redux-thunk
  2. 在store.js 引入并使用
import {createStore,applyMiddleware} from 'redux'
import thunk from 'redux-thunk' //解决异步的插件
import reducer from './reducer'
export default createStore(reducer,applyMiddleware(thunk))

除了actionCreatore 需要修改之外 其他的都不用动
a. 如果是同步的方法也不需要动 返回action
b. 如果action里有异步 返回一个函数 函数能接受dispath 在函数内部 做网络请求
成功之后通过dispath手动的发送

{
   addlist(){
      let action ={} 
      return action 
   },
   dellist(){
      return(dispatch)=>{
         <!-- 网络请求 -->
         setTimeOut(()=>{
            let action  ={} 
            dispatch(action)
         },1000)
      }
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值