使用帶有 jQuery.ajax 的 redux-thunk

const loadUser = userId => dispatch => {
    dispatch({ type: 'USER_LOADING' });
    $.ajax('/users/' + userId, {
        type: 'GET',
        dataType : 'json'
    }).done(response => {
        dispatch({ type: 'USER_LOADED', user: response });
    }).fail((xhr, status, error) => {
        dispatch({ type: 'USER_LOAD_ERROR', status, error });
    });
};

使用,像任何其他動作建立者一樣傳送:

store.dispatch(loadUser(123));

這將導致排程初始 USER_LOADING 動作,可用於顯示載入指示符(如果需要),並且在收到響應後,將分派 USER_LOADED 動作或 USER_LOAD_ERROR 動作,具體取決於結果。$.ajax 請求。