Jus*_*ier 6 navigation react-native react-native-navigation
我在开发一个react-native应用程序,这个项目使用react-navigation 4.x来在应用程序中导航。我最近将项目升级到了 React-navigation 5.x,在尝试升级时遇到了问题。问题是我的项目同时有 aFooterNavigator和 a DrawerNavigator,它们都调用同一个组件。
我们已经找到了解决react-navigation 4.x中问题的方法,但是新版本的react-navigation需要每个Screen. 有什么办法让我同时拥有两个导航器还是降级更好?
这是我的 FooterNavigator
const Tab = createBottomTabNavigator();
export const FooterNavigator = () => {
return (
<Tab.Navigator>
<Tab.Screen name="Search" component={Search}>
<Button>
<Icon name="magnify" type="MaterialCommunityIcons"/>
<Text style={footerStyle.footerText}>Zoeken</Text>
</Button>
</Tab.Screen>
<Tab.Screen name="Count" component={Count}>
<Button>
<Icon name="counter" type="MaterialCommunityIcons"/>
<Text style={footerStyle.footerText}>Tellen</Text>
</Button>
</Tab.Screen>
<Tab.Screen name="Identify" component={Identify}>
<Button>
<Icon name="file-question" type="MaterialCommunityIcons"/>
<Text style={footerStyle.footerText}>Herken</Text>
</Button>
</Tab.Screen>
<Tab.Screen name="Program" component={Program}>
<Button>
<Icon name="chip" type="MaterialCommunityIcons"/>
<Text style={footerStyle.footerText}>Wijzig</Text>
</Button>
</Tab.Screen>
</Tab.Navigator>
)
}
Run Code Online (Sandbox Code Playgroud)
这是我的 DrawerNavigator
export const RootNavigator = () => {
let DrawerScreens = [];
Routes.forEach(function (route) {
DrawerScreens.push(<Drawer.Screen name={route.name} component={route.component}/>)
});
return (
<Drawer.Navigator>
{DrawerScreens}
</Drawer.Navigator>
)
}
Run Code Online (Sandbox Code Playgroud)
它们都在我的 Layout.js 中调用和渲染
render() {
return (
<NavigationContainer>
<RootNavigator />
<FooterNavigator/>
</NavigationContainer>
)
}
Run Code Online (Sandbox Code Playgroud)
提前谢谢了 !!
用这个
<Stack.Screen name="Home" component={HomeScreen} />
Run Code Online (Sandbox Code Playgroud)
而不是这个
<Stack.Screen name="Home" component={HomeScreen}> </Stack.Screen>
Run Code Online (Sandbox Code Playgroud)
解决你的问题
<NavigationContainer>
<Stack.Navigator initialRouteName="Home">
<Stack.Screen name="Home" component={HomeScreen}/>
<Stack.Screen name="Details" component={DetailScreen} />
</Stack.Navigator>
</NavigationContainer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3316 次 |
| 最近记录: |