背景:
1、redux默认是不能进行异步处理的。
2、应用中又需要在redux中执行异步任务(ajax,定时器)。
redux插件(异步中间件)
下载: npm install --save redux-thunk
使用方法:
import {createStore,applyMiddleware} from "redux" //引用中间件工具
import thunk from "redux-thunk" //引用异步中间件
import {counter} from '../redux/reducers'
const store=createStore(
counter,
applyMiddleware(thunk)
);
export default store
//异步操作部分
import {DECREMENT, INCREMENT} from "./action-type";
export const increment=(number)=>({
type:INCREMENT,data:number
})
export const decrement=(number)=>({
type:DECREMENT,data:number
})
//异步action
export const incrementAsync=(number)=>{
return dispatch=>{
setTimeout(()=>{
//1s之后才去分发一个增加的action
dispatch(increment(number))
},1000)
}
}