使用帶有 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
請求。