我的导航器是:
import { connect } from 'react-redux';
import { createDrawerNavigator } from 'react-navigation';
const screens = {
Home: Homecreen,
};
if (this.props.userStatus !== 'active') {
screens.Upgrade = UpgradeScreen;
}
const MainDrawer = createDrawerNavigator(screens);
const mapStateToProps = (state) => {
return { userStatus: state.user.status };
};
export default connect(mapStateToProps)(MainDrawer);
我想仅在用户状态不活跃时显示UpgradeScreen
。在上面的代码中,我收到错误:
undefined is not an object (evaluating 'this.props.userStatus')
如何解决这个问题?
最佳答案
为了访问 this.props.userStatus
,您应该有一个组件。具体方法如下:
import { connect } from 'react-redux';
import { createDrawerNavigator } from 'react-navigation';
const screens = {
Home: Homecreen,
};
const MainDrawer = ({ userStatus }) => {
if (userStatus !== 'active') {
screens.Upgrade = UpgradeScreen;
}
const Navigator = createDrawerNavigator(screens);
return <Navigator />
}
const mapStateToProps = (state) => {
return { userStatus: state.user.status };
};
export default connect(mapStateToProps)(MainDrawer);
关于reactjs - 如何根据 redux store 的内容动态指定 React Navigation 中的屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52402488/