在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。