react-redux - 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链接
解决方案
您缺少一些东西:在您缺少的 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
推荐阅读
- xamarin - 使用 Xamarin MessageCenter 时,我应该在 base.OnDisappearing() 之前还是之后取消订阅;
- android - 用户在 Webview 中使用错误的用户名或密码打开另一个 Activity
- r - 如何使用遗传算法优化 knn 中的参数 k
- javascript - Bootstrap Tooltips,如何使用带有对齐的固定?
- oracle - 在 PL/SQL 过程中打开动态表名的游标
- javascript - 添加剪切路径在 D3 图中隐藏了我的 y 轴
- amazon-web-services - Cloudformation:API:s3:CreateBucket 访问被拒绝
- ios - Telegram(最简单)内联机器人在 iOS 上发送照片 2 次
- node.js - 如何在没有 Bitbucket 连接的情况下在 Azure 中部署聊天机器人(NodeJS)
- python - Python模块变量不起作用