我遇到了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