我遇到了React Navigation和React Native的导航问题。这是关于重置导航并返回到主屏幕。重置主屏幕的导航堆栈(React Navigation和React Native)
我已经在DrawerNavigator内部构建了一个StackNavigator,并且主屏幕和其他屏幕之间的导航正在工作。但问题是,导航堆栈的增长和增长。我不知道如何从堆栈中移除屏幕。
例如,当从主屏幕转到设置屏幕,然后转到输入屏幕并最后再次回到主屏幕时,主屏幕会在堆栈中两次。使用后退按钮,我不会退出应用程序,但会再次进入输入屏幕。
当再次选择主页按钮时,重置堆栈会很好,但我不知道该怎么做。 Here有人试图帮助其他人遇到类似问题,但解决方案对我无效。
const Stack = StackNavigator({
Home: {
screen: Home
},
Entry: {
screen: Entry
},
Settings: {
screen: Settings
}
})
export const Drawer = DrawerNavigator({
Home: {
screen: Stack
}},
{
contentComponent: HamburgerMenu
}
)
这是抽屉屏幕
export default class HamburgerMenu extends Component {
render() {
return <ScrollView>
<Icon.Button
name={'home'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Home')}}>
<Text>{I18n.t('home')}</Text>
</Icon.Button>
<Icon.Button
name={'settings'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Settings')}}>
<Text>{I18n.t('settings')}</Text>
</Icon.Button>
<Icon.Button
name={'entry'}
borderRadius={0}
size={25}
onPress={() => { this.props.navigation.navigate('Entry')}}>
<Text>{I18n.t('entry')}</Text>
</Icon.Button>
</ScrollView>
}
}
我希望你能帮助我的一个简单的例子。这是导航的重要组成部分,解决方案将非常棒!
产生一个令人讨厌的动画,大多数QA会拒绝fyi。 –
在这种情况下如何发送导航参数? – Ashish
为了避免讨厌的动画,我不得不根据[这个答案](https://stackoverflow.com/a/44332846/978369)完全禁用所有转换的动画。 – Kes115