【发布时间】:2020-12-06 02:11:29
【问题描述】:
拥有两组堆栈导航器;
const SetOneScreens = () => (
<Stack.Navigator initialRouteName="AScreen">
<Stack.Screen name="AScreen" component={AScreen} />
<Stack.Screen name="BScreen" component={BScreen} />
</Stack.Navigator>
);
const SetTwoScreens = () => (
<Stack.Navigator initialRouteName="CScreen">
<Stack.Screen name="CScreen" component={CScreen} />
<Stack.Screen name="DScreen" component={DScreen} />
</Stack.Navigator>
);
嵌套在抽屉导航器中
<NavigationContainer>
<Drawer.Navigator initialRouteName="SetOneScreens">
<Drawer.Screen name="SetOneScreens" component={SetOneScreens} />
<Drawer.Screen name="SetTwoScreens" component={SetTwoScreens} options={{swipeEnabled: false}} />
</Drawer.Navigator>
</NavigationContainer>
我想从BScreen导航到DScreen并重置堆栈(为了不让android中的硬件返回按钮回到BScreen)
和嵌套情况一样,首先要定义导航器名称;我应该如何在重置操作中定义屏幕。
// For navigation
props.navigation.navigate('setTwoScreens',{screen:'DScreen'})
// For reset I can only navigate to initial screen
props.navigation.reset({index:0,routes:[{name:'setTwoScreens'}]})
我应该如何处理reset 和navigation 或CommonActions
【问题讨论】:
标签: reactjs react-native react-navigation react-navigation-stack react-navigation-v5