redux-thunk形式

onClick(e) {

    e.preventDefault();

    const { user, pass } = this.refs;

    this.props.dispatch(login(user.value, pass.value));

  }

export const login = (user, pass) => async (dispatch)

export const login = (user, pass) => async (dispatch) => {

    try {

        dispatch({ type: LOGIN_REQUEST });

        let { data } = await request.post('/login', { user, pass });

        await dispatch(loadUserData(data.uid));

        dispatch({ type: LOGIN_SUCCESS, data });

    } catch(error) {

        dispatch({ type: LOGIN_ERROR, error });

    }

}

原文地址:https://www.cnblogs.com/feng9exe/p/11728045.html