Reactjs 如何更改DroperNavigator内容
我的应用程序中有Reactjs 如何更改DroperNavigator内容,reactjs,react-native,Reactjs,React Native,我的应用程序中有DrawerNavigator和StackNavigator。有两个用户成员和有限用户 因此,当limited用户登录时,我想从DrawerNavigator中删除MyProfile,当member登录MyProfile时应该显示。如何做到这一点。请检查一下我的代码 const AppNavigator = createStackNavigator( { Splash: { screen: Splash }, Login: { screen: Login },
DrawerNavigator
和StackNavigator
。有两个用户成员
和有限
用户
因此,当limited
用户登录时,我想从DrawerNavigator
中删除MyProfile
,当member
登录MyProfile
时应该显示。如何做到这一点。请检查一下我的代码
const AppNavigator = createStackNavigator(
{
Splash: { screen: Splash },
Login: { screen: Login },
Home: { screen: Home },
About: { screen: About },
ListEvents: { screen: ListEvents }
},
{
initialRouteName: 'Splash',
headerMode: 'none'
}
);
const DrawerNavigator = createDrawerNavigator({
Home: AppNavigator,
MyProfile: { screen: MyProfile },
About: { screen: About }
});
const MainNavigation = createSwitchNavigator({
HomeDrawer: DrawerNavigator,
AuthStack: AppNavigator
})
const AppContainer = createAppContainer(MainNavigation);
export default AppContainer;
如何在上面的代码中实现我的结果?我不知道怎么做。假设您有一个布尔限制,那么您可以根据条件传递到函数以获取AppContainer
export default function AppContainer(limited) {
const AppNavigator = createStackNavigator(
{
Splash: { screen: Splash },
Login: { screen: Login },
Home: { screen: Home },
About: { screen: About },
ListEvents: { screen: ListEvents }
},
{
initialRouteName: "Splash",
headerMode: "none"
}
);
const DrawerNavigator = limited
? createDrawerNavigator({
Home: AppNavigator,
About: { screen: About }
})
: createDrawerNavigator({
Home: AppNavigator,
MyProfile: { screen: MyProfile },
About: { screen: About }
});
const MainNavigation = createSwitchNavigator({
HomeDrawer: DrawerNavigator,
AuthStack: AppNavigator
});
return createAppContainer(MainNavigation);
}
然后在AppRegistry组件中使用它
import React from "react";
import AppContainer from "./AppContainer";
export default class App extends React.Component {
render() {
const limited = true; // set true or false
const Navigation = AppContainer(limited);
return <Navigation />;
}
}
从“React”导入React;
从“/AppContainer”导入AppContainer;
导出默认类App扩展React.Component{
render(){
const limited=true;//设置为true或false
const Navigation=AppContainer(有限);
返回;
}
}
显示错误uncaughttypeerror:没有“new”就无法调用类构造函数NavigationContainer