为啥redux中状态未定义

Posted

技术标签:

【中文标题】为啥redux中状态未定义【英文标题】:Why is the state undefined in redux为什么redux中状态未定义 【发布时间】:2021-12-16 14:02:19 【问题描述】:

我正在尝试从 redux 中的 reducer 获取一些数据,当我使用 useSelector 获取状态时,它返回 undefined

谢谢!

代码:

import foo from "foo";
import React from "react";
import useSelector from "react-redux";

function fooBar():React.FC 
let data = useSelector(state:StateType=>state.fooBar);
return(
<div>
<p>data</p>
</div>
);

【问题讨论】:

因为state.fooBarundefined?提供的信息很难说。 【参考方案1】:

根据给出的信息,您还没有从函数体返回状态值。

let data = useSelector(state:StateType=>state.fooBar); // <-- no return!!

您应该从函数中显式返回state.fooBar

const data = useSelector(state: StateType => 
  return state.fooBar;
);

或者使用隐式箭头函数返回(注意 ... 中没有函数体):

const data = useSelector(state: StateType => state.fooBar);

【讨论】:

以上是关于为啥redux中状态未定义的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Redux reducer 认为我的状态是未定义的?

react 和 Redux 的新手,为啥我会通过未定义的商店?

为啥使用 redux devtools 在我的 _reduxDevtools 对象中未定义 ActionCreators 属性?

Redux 一直显示未定义状态

Redux 状态道具未定义且 ComponentDidMount 未触发

在 mapStateToProps 中未定义 Redux 状态