反应导航v4-同一堆栈的不同过渡动画|反应本机

时间:2020-02-02 10:06:19

标签: reactjs react-native react-navigation

我正在尝试实现某些功能,这非常令人困惑。 在我们的应用中,同一堆栈中的所有内容都具有从左到右的过渡,而从不同堆栈进行导航会导致从上到下的过渡。

我认为需要更改的堆栈示例:

const BackupNavigator = createStackNavigator({
    ZoomTutorial: ZoomTutorial,
    ZoomScanComplete: ZoomScanComplete,
    BackupSuccess: BackupSuccess,
}, 
{headerMode: 'none'});

流程是您进行面部扫描,然后显示成功屏幕。 现在,我添加了一个屏幕,您可以在其中验证备份。在BackupSuccess屏幕中。 因此,我在此导航器堆栈中添加了一个新屏幕,但是现在当我按下验证按钮时(返回到ZoomTutorial屏幕,过渡是从右到左。它返回到导航器中的屏幕。我希望它显示一个顶部到底部过渡。

这里的最佳做法是什么?我应该为此创建一个新的堆栈吗?应用程序如何知道我在哪个堆栈中?有没有更简单的解决方案?我找不到根据屏幕定义过渡的方法。

1 个答案:

答案 0 :(得分:0)

您可以在navigationOptions中为想要动画的每个屏幕指定想要的动画:

import { TransitionPresets } from 'react-navigation-stack';

// ...

static navigationOptions = {
  title: 'Profile',
  ...TransitionPresets.ModalSlideFromBottomIOS
}

https://reactnavigation.org/docs/en/stack-navigator.html#pre-made-configs