提问者:小点点

SwitchNavigator中的屏幕在导航时闪烁


在我的反应原生应用程序中,我有一个切换导航器来在认证堆栈和应用堆栈之间导航:

const AppNavigator = createSwitchNavigator(
  {
    App: AppStack,
    Auth: AuthStack
  },
  {
    initialRouteName: "Auth",
  }
);

它可以工作,但是当我从AuthStack转到AppStack时,它会闪烁,屏幕会向上移动。我如何防止这种行为增加平稳过渡。


共1个答案

匿名用户

我能够通过使用动画切换导航器而不是普通切换导航器并添加过渡来解决这个问题:

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

const AppNavigator = createAnimatedSwitchNavigator(
  {
    App: AppStack,
    Auth: AuthStack
  },
  {
    initialRouteName: "Auth",
    transition: (
      <Transition.Together>
        <Transition.Out
          type="slide-bottom"
          durationMs={400}
          interpolation="easeIn"
        />
        <Transition.In type="fade" durationMs={500} />
      </Transition.Together>
    ),
  }
);

在这里找到的文档:https://reactnavigation.org/docs/4.x/animated-switch-navigator/