首页 > 解决方案 > Redux Thunk 动作创建者未调度获取 api

问题描述

我创建了一个小型 react-redux 应用程序来使用 redux-thunk 中间件获取 api 数据,由于某种原因,返回调度的动作创建函数不起作用。

动作创作者:

export const fetchUsers = () => {
  console.log('test 1');
  return dispatch => {
    console.log('test 2');
    dispatch(fetchUserRequest);
    axios
      .get("https://jsonplaceholder.typicode.com/users")
      .then(response => {
        const users = response.data;
        dispatch(fetchUserSuccess(users));
      })
      .catch(error => {
        const errorMessage = error.message;
        dispatch(fetchUsersFailure(errorMessage));
      });
  };
};

console.log('test 1')正在工作但console.log('test 2')不工作。这是codesanbox链接

标签: react-reduxredux-thunk

解决方案


您缺少一些东西:在您缺少的 userTypes 中,_当您创建 const 类型时没有,例如export const FETCH_USER_REQUEST = "FETCH USER REQUEST";应该export const FETCH_USER_REQUEST = "FETCH_USER_REQUEST";在 userActions 中从 userTypes 导入它而不是 userReducers 它应该是import { FETCH_USER_REQUEST, FETCH_USER_SUCCESS, FETCH_USER_FAILURE } from "./userTypes";

我还修复了你的 userContainer,codesandbax:codesandbax


推荐阅读