this.props.navigation.dispatch (popAction);
я проблема с навигациейРеагировать Навигация и реагировать родной. Речь идет о сбросе навигации и возвращении на домашний экран.
Я создал StackNavigator внутри DrawerNavigator, и навигация между домашним экраном и другими экранами работает. Но проблема в том, что стек навигации растет и растет. Я не уверен, как удалить экран из стека.
Например, при переходе с домашнего экрана на экран настроек, затем на экран ввода и, наконец, снова на домашний экран, домашний экран дважды в стеке. С помощью кнопки назад я не выхожу из приложения, но снова на экран ввода.
При повторном выборе кнопки home сброс стека был бы идеальным, но я не знаю, как это сделать.Вот кто-то пытался помочь другому человеку с подобной проблемой, но решение не сработало для меня.
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>
}
}
Я надеюсь, что вы можете мне помочь. Это важная часть навигации, и решение будет отличным!