SwitchNavigator中的屏幕导航时闪烁

时间:2020-05-06 12:50:40

标签: react-native react-navigation

在我的本机应用程序中,我有一个切换导航器,可在Auth Stack和App Stack之间导航:

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

它可以工作,但是当我从AuthStack转到AppStack时,它闪烁并且屏幕向上移动。我该如何防止这种行为的增加而产生平滑过渡。

1 个答案:

答案 0 :(得分: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/