react-navigation 单个页面实现modal效果

我想让单页页面实现modal效果,查看API发现mode: 'modal'是设置全局的,有没有单独 设置一个页面的?

在网上也看到实现方法,但是发现screenInterpolator会调用多次,导致页面动画效果混乱,代码如下:

import CardStackStyleInterpolator from 'react-navigation/src/views/CardStack/CardStackStyleInterpolator';

const TransitionConfiguration = () => ({
    screenInterpolator: (sceneProps) => {
        const { scene } = sceneProps;
        const { route } = scene;
        const params = route.params || {};
        const transition = params.transition || 'forVertical';
        return CardStackStyleInterpolator[transition](sceneProps);
    }
});

const Navigator = StackNavigator(
    {
        Tab: { screen: TabBar },
        Web: { screen: WebView }
    },
    {
        navigationOptions: {
            // headerStyle: { backgroundColor: color.theme }
            headerBackTitle: null,
            headerTintColor: '#333333',
            showIcon: true,
            cardStack: {
                gesturesEnabled: true
            }
        },
        // animationEnabled: false,
        // transitionConfig: TransitionConfiguration,
        // mode: 'modal'
    });

请大神帮忙指点一下

阅读 3.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题