reactjs - 如何使数据获取与 Redux Toolkit 和 React Hooks 一起工作?
问题描述
我正在尝试 Redux Toolkit 文档中的示例:
演示:https ://codesandbox.io/s/nice-sound-1ybmf?file=/features/counter/Counter.js
它有效。
然后我也尝试在文档中执行以下操作,只是为了获取一些数据并显示在页面上,使用
const fetchUsers = () => async (dispatch) => {
dispatch(usersLoading());
const response = await fetch("https://jsonplaceholder.typicode.com/users");
const data = await response.json();
dispatch(usersReceived(data));
};
演示:https ://codesandbox.io/s/zen-northcutt-lb4ww?file=/features/users/Users.js
但它会出错No reducer provided for key "users"
andStore does not have a valid reducer.
如何让它发挥作用?而函数fetchUsers()
,它是否属于Users.js
or usersSlice.js
,在这个使用 Redux Toolkit 的数据获取机制中还有其他需要改变的地方吗?
解决方案
您将用户操作的导出添加到了用户切片,但您仍在整体导入 userSlice 减速器以创建您的商店。
export const { usersLoading, usersReceived } = usersSlice.actions
由于您没有导出切片,因此无法访问切片。您需要另外导出切片export default usersSlice.reducer
,以便import usersReducer from "../features/users/usersSlice";
再次使用
推荐阅读
- c++ - C++ Intellisense 显示结构化绑定错误,但代码编译
- python-3.x - 如何执行第三个 elif 条件?
- java - 如何测试未处理的消息
- c++ - [Boost].DI vs Google Fruit
- c++ - shared_mutex 锁排序
- ssl - 无法信任 ubuntu 18.04.2 LTS 中的开发 https 自签名证书
- javascript - 至少需要 2 次刷新才能加载页面
- reactjs - 相似的 URI 但不同的组件 - React Router V4
- c# - 如何在 MassTransit for RabbitMQ 中更改错误队列和交换的名称?
- python - UnicodeEncodeError:“ascii”编解码器无法对位置 30-31 中的字符进行编码:序数不在范围内(128)