gpt4 book ai didi

javascript - 未找到 React Redux Store 变量,即使它在存储中

转载 作者:行者123 更新时间:2023-11-28 14:06:55 26 4
gpt4 key购买 nike

我正在使用 redux 开发一个 react 原生项目。到目前为止,我已成功将 redux 连接到一个屏幕,我正在尝试连接下一个屏幕,第一个屏幕运行良好。问题是我得到:

类型错误:无法读取未定义的属性“currentView”

尝试从存储中检索值时。

我的商店已成功设置并初始化: https://ibb.co/WxrKMgh(一切也可以在第一个屏幕上运行)

我的实现(为了更好的可读性而缩写):

 import { connect } from 'react-redux';

class App extends React.Component {
public state: any;
public props: any;
public setState: any;
render() {
return (
<>
{this.props.authentication.currentView === 'initializing' && (
<InitializationScreen />
)}
{'hallo' == 'mainNav' && <AppContainer />}
</>
);
}
}

const mapStateToProps = (state: any) => {
const { currentView } = state;
return {
currentView,
};
};

export default connect(mapStateToProps)(App);

有问题的代码:

{this.props.authentication.currentView === 'initializing' && (
<InitializationScreen />
)}

您能看出导致错误的原因吗?

非常感谢!

<小时/>

为了将来引用,我找到了一个解决方案:

我将mapstatetoprops更改为:

const mapStateToProps = (state: any) => {
const { currentView } = state.authentication;
return {
currentView,
};
};

基本上是一样的,但是不管出于什么原因,这样就可以了(虽然应该是一模一样的)

mapStateToProps 中的状态:

{
"search": {
"searchType": "Quick Search",
},
"authentication": {
"currentView": "mainNav"
}
}

最佳答案

您将 currentView 作为顶级 prop 传递给组件,因此它应该在 this.props 中可用

this.props.currentView === 'initializing' && (
<InitializationScreen />
)}

关于javascript - 未找到 React Redux Store 变量,即使它在存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61084399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com