使用带有 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
请求。