redux thunk async action creator code example
Example 1: redux-thunk example
const GET_CURRENT_USER = 'GET_CURRENT_USER';
const GET_CURRENT_USER_SUCCESS = 'GET_CURRENT_USER_SUCCESS';
const GET_CURRENT_USER_FAILURE = 'GET_CURRENT_USER_FAILURE';
const getUser = () => {
return (dispatch) => {
dispatch({ type: GET_CURRENT_USER });
return axios.get('/api/auth/user').then(
user => dispatch({ type: GET_CURRENT_USER_SUCCESS, user }),
err => dispatch({ type: GET_CURRENT_USER_FAILURE, err })
);
};
};
Example 2: redux-thunk example
const INCREMENT_COUNTER = 'INCREMENT_COUNTER';
function increment() {
return {
type: INCREMENT_COUNTER
};
}
function incrementAsync() {
return dispatch => {
setTimeout(() => {
dispatch(increment());
}, 1000);
};
}
Example 3: redux-thunk action creator
const createAction = () => { type: 'ACTION_TYPE' };
function createAsyncAction() {
return (dispatch) => {
setTimeout(() => {
dispatch(createAction());
}, 1000);
}
}