【发布时间】:2020-12-28 17:02:09
【问题描述】:
我通过控制台记录有效负载检查了我的操作、reducers,并且我按预期从我的 api 获取数据,但是当我想使用 useSelector 挂钩使用我的状态值时,我遇到了问题。
这是我的 Post 组件,我想在其中使用来自 postsReducer 减速器的帖子状态。 (下方)
import React from "react";
import { useSelector } from "react-redux";
function Post() {
const posts = useSelector((state) => state.postsReducer);
console.log(posts); //undefined
return (
<>
This is a single post
</>
);
}
这是我的 App 组件,我在其中调度了我的 fetch 操作以从 api 获取数据。 (下方)
动作(下方)
减速机。 (下方)
所有 API 调用都运行良好。
只有useSelector 让我头疼!
【问题讨论】:
-
在
useSelector的回调函数中,可以试试console.log(state.postsReducer)吗? -
您是否将组件包装到 Provider (react-redux.js.org/api/hooks#using-hooks-in-a-react-redux-app)?你的状态真的改变了吗(因为默认状态是未定义的)。您可以使用chrome.google.com/webstore/detail/redux-devtools/… 查看状态变化。
-
我们能看到根减速器的形状吗?检查
useSelector(state => state)时看到了什么? -
@dev1ce 如果您发布代码而不是图像会很有帮助。
-
请查看 StackOverflow.com/help 上的 SO 帮助中心。所有代码、数据、错误消息等都必须以文本形式输入。图像在移动设备上不可读。此外,文本图片不能发布到代码编辑器或搜索引擎中,因此任何人都能够有效地提供帮助的过程变得复杂。它还增加了志愿者将自己的错别字添加到您的代码示例中的风险。请务必始终包含一个功能齐全、可重现的示例来展示您的问题。您可以编辑您的帖子以避免关闭,或者在它关闭时重新打开它。
标签: javascript reactjs redux react-redux