как настроить кнопку «Назад» для Switch Navigator - PullRequest
2 голосов
/ 01 июня 2019

Я разрабатываю собственную программу реагирования. Я использую Switch Navigator внутри нее. но я хочу знать, как настроить кнопку возврата для Switch Navigator. Я не хочу использовать стековый навигатор. вот мой код страницы навигации

            import createAnimatedSwitchNavigator from 'react-navigation-animated-switch';
            import {createAppContainer } from 'react-navigation';
            import { Transition } from 'react-native-reanimated';
            import React from 'react';

            import Login   from "./Login/Login";
            import SignUp  from './SignUp/SignUp';


            //====================================================

            //====================================================
            const Navigate = createAnimatedSwitchNavigator({


            Login:         {screen:Login},
            SignUp:        {screen:SignUp},

            },
            {
                transition: (
                <Transition.Together>
                    <Transition.Out
                    type="slide-left"
                    durationMs={200}
                    interpolation="easeIn"
                    />
                    <Transition.In type="fade" durationMs={300} />
                    </Transition.Together>
                ),
            }
            )

            export const AppContainer = createAppContainer(Navigate)

1 Ответ

1 голос
/ 01 июня 2019

"Цель SwitchNavigator - отображать только один экран за раз. По умолчанию он не обрабатывает обратные действия и сбрасывает маршруты в состояние по умолчанию при переключении. Это именно то поведение, которое нам нужно от поток аутентификации. "

Из документации React Navigation: https://reactnavigation.org/docs/en/switch-navigator.html

SwitchNavigator был разработан для обработки аутентификации (вход в систему, выход из системы и регистрация). После перехода от экрана аутентификации вы не хотите, чтобы пользователь возвращался к этому экрану. Так SwitchNavigator удаляет эту функцию. Если вам нужна кнопка или функция «Назад», используйте любой навигатор, кроме SwitchNavigator.

«createAnimatedSwitchNavigator» идентичен createSwitchNavigator, за исключением анимаций. Так что у него тоже нет функции возврата.

...