Как обработать поведение кнопки «Назад» в нижних вкладках в React Native? - PullRequest
1 голос
/ 17 апреля 2020

У меня есть @ реагировать-навигация / нижние вкладки , когда открывается мое приложение, содержимое которого выглядит следующим образом:

    <Tab.Navigator
        tabBarOptions={{
            activeTintColor: '#77dd77',
            inactiveTintColor: 'gray',
        }}
        tabBar={props => <MyTabBar {...props} />}
        backBehavior={"history"}
        >
        <Tab.Screen
            name="Home"
            component={Home}
            options={{ title: 'Home' }}
        />
        <Tab.Screen
            name="Orders"
            component={Orders}
            options={{ title: 'Orders' }}
        />
        <Tab.Screen
            name="Profile"
            component={Profile}
            options={{ title: 'Profile' }}
        />
    </Tab.Navigator>

У меня есть BackHandler в мой код, который заставляет приложение закрываться при нажатии кнопки «Назад» с домашней страницы. Все в порядке, и я проверил, что при нажатии кнопки назад вызывается обработчик задним числом.

Но когда я переключаюсь на любую другую вкладку, а затем возвращаюсь на домашнюю страницу и нажимаю назад, чтобы выйти из приложения, обработчик задних частей перестает работать и приложение показывает ошибку «Действие« GO_BACK »не было обработано никаким навигатором. Есть ли экран для go возврата?»

Это предупреждение только для разработки, но в подписанная версия, приложение не отображает никаких ошибок и даже не завершается.

Как мне разрешить это 'GO_BACK' действие?

1 Ответ

0 голосов
/ 17 апреля 2020

Я использовал backhandler во всех моих вкладках, чтобы создать нужный мне навигационный поток. Оказывается, это создавало проблему. После удаления backhandlers из остальных вкладок, приложение теперь работает гладко.

Я сейчас пытаюсь поэкспериментировать с backBehavior во вкладке навигатора, чтобы попытаться получить нужный мне поток.

Запись моей проблемы дала мне более ясное представление о моем проблема!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...