react-native - React Native条件渲染“渲染没有返回任何内容”
问题描述
所以我试图有条件地呈现我的抽屉菜单。我有这个显示组件
const Display = () => {
const getData = async () => {
try {
const value = await AsyncStorage.getItem('loggedIn');
if (value !== null) {
let check4Login = value === 'true';
if (check4Login === true) {
console.log('logged in user ');
return (
<NavigationContainer>
<Drawer.Navigator initialRouteName="Home">
<Drawer.Screen name="Home" component={HomeArea} />
<Drawer.Screen name="Login" component={LoginPage} />
<Drawer.Screen name="User Dashboard" component={MyAccount} />
<Drawer.Screen name="Settings" component={Settings} />
<Drawer.Screen name="Logout" component={Logout} />
</Drawer.Navigator>
<StatusBar barStyle="dark-content" />
</NavigationContainer>
);
} else {
console.log('logged out user ');
return (
<NavigationContainer>
<Drawer.Navigator initialRouteName="Home">
<Drawer.Screen name="Home" component={HomeArea} />
<Drawer.Screen name="Login" component={LoginPage} />
<Drawer.Screen name="User Dashboard" component={MyAccount} />
<Drawer.Screen name="Settings" component={Settings} />
<Drawer.Screen name="Logout" component={Logout} />
</Drawer.Navigator>
<StatusBar barStyle="dark-content" />
</NavigationContainer>
);
}
}
} catch (e) {
// error reading value
}
};
getData();
};
在这个组件中,我正在检查用户当前是否已登录,然后如果用户已登录,我将返回正确的抽屉菜单。
然后我调用显示组件
const App = () => {
checkLogin();
return <Display />;
};
这里要显示。但由于某种原因,我收到错误“渲染没有返回任何内容”,即使代码正按应有的方式返回。例如,现在我得到了 console.log “登录用户”,但它似乎没有看到我假设的返回,因此出现了错误。难道我做错了什么?非常感谢任何建议,非常感谢=]
解决方案
推荐阅读
- python - 如何使用 python 请求将文本提交到 textarea?
- svelte - svelte-i18n - Svelte Rollup 编译器警告:`this` 已被重写为 `undefined`
- javascript - OpenCV.js 不工作 vue.js (electron-builder)
- excel - 我试图创建带有名称但面临问题的新工作表
- unity3d - 我可以在 Unity 中的一个游戏对象上拥有多个精灵吗?
- java - 如何在java中的循环内使用迭代器初始化变量?
- android - 从继承自 ModuleWidget 的模块访问路由时出现问题
- node.js - 如何使用 Azure Functions 和 node.js 在 module.exports 之外发出 axios 请求?
- javascript - 如何在php中使用if multiple语句创建变量并打印
- javascript - 状态未加载到我的基本 React/Redux 应用程序中