Reactjs 在CreateBoottomTabNavigator导航中有条件地渲染路线
在react本机应用程序中,我希望有条件地在导航菜单中呈现路线。我使用react导航Reactjs 在CreateBoottomTabNavigator导航中有条件地渲染路线,reactjs,react-native,conditional-statements,react-navigation,Reactjs,React Native,Conditional Statements,React Navigation,在react本机应用程序中,我希望有条件地在导航菜单中呈现路线。我使用react导航createBottomTabNavigator作为我的导航菜单 该条件基于用户角色,并通过api调用检索 api调用不会在初始加载时发生 我正在使用mobx状态树进行应用程序状态管理,角色存储在MST存储中 我必须用observer装饰顶级容器createAppContainer,当观察到的角色发生变化时,我希望重新渲染。在顶层重新渲染似乎效率低下,而且我无论如何都无法使其正常工作 就我而言,不可能通过reac
createBottomTabNavigator
作为我的导航菜单
该条件基于用户角色,并通过api调用检索
api调用不会在初始加载时发生
我正在使用mobx状态树
进行应用程序状态管理,角色存储在MST存储中
我必须用observer
装饰顶级容器createAppContainer
,当观察到的角色发生变化时,我希望重新渲染。在顶层重新渲染似乎效率低下,而且我无论如何都无法使其正常工作
就我而言,不可能通过react navigation
提供的HOC传递道具。我不能将它们封装在组件中以实现这一点,因为它们被用作HOC的参数
对于一些结构澄清,我使用以下HOC
用于包装我的应用程序。我通过了一个考试createAppContainer
并将createSwitchNavigator
被多次传递createBottomTabNavigator
,通过实际屏幕。这些是需要有条件地呈现的createStackNavigator
//如何在此级别有条件地呈现
函数screenExcluder(){
常数堆栈={
一些导航器,
//...
}
log(“MainTabNavigator,profilestore”,)
if(UserStore.isRegularUser){
stacks.ProfileStack=ProfileStack
stacks.SettingsStack=SettingsStack
}
返回栈
}
导出默认CreateBoottomTabNavigator(
screenExcluder(){
tabbar组件:选项卡,
})
我希望有一个解决方案,可以使createBottomTabNavigator
基于mobx状态树中的更改值有条件地渲染路由
我使用的是react导航版本3.0.9。此插件目前不允许动态路由
应用程序启动时,您必须定义所有路线。你可以找一个替代插件,比如
如需更多选项,请加入此
建议
或者,您可以更改规划路由安全性的方式,例如呈现所有路由并基于用户设置它们的安全性
更多信息:此插件目前不允许动态路由
应用程序启动时,您必须定义所有路线。你可以找一个替代插件,比如
如需更多选项,请加入此
建议
或者,您可以更改规划路由安全性的方式,例如呈现所有路由并基于用户设置它们的安全性
更多信息: