Redux异步action

异步action需要安装redux-thunk

tnpm i redux-thunk

—— store.ts文件

/*
    该文件专门用于暴露一个store对象,整个应用只有一个store对象
*/
// 引入createStore,专门用于创建redux中最为核心的store对象
import { createStore, applyMiddleware } from 'redux'
// 引入为Count组件服务的reducer
import CountReducer from './count_reducer'
// 引入redux-thunk,用于支持异步action
import thunk from 'redux-thunk'
// 暴露store
export default createStore(CountReducer, applyMiddleware(thunk))

—— count_action.ts

// 异步action:action的值为函数;
// 异步action中一般都会调用同步action,异步action不是必须要调用的
export const createIncrementAsyncAction = (data: number, time:number) => {
    return () => {
        setTimeout(() => {
            // store.dispatch({type: INCREMENT, data})
            // 两种方法都可以,最好选择下面的写法
            store.dispatch(createIncrementAction(data))
        }, time)
    }
}

—— 总结

Redux异步action_第1张图片

你可能感兴趣的:(Redux,react)