Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 反应导航自定义屏幕转换_React Native_React Navigation_React Navigation Stack_Custom Transition - Fatal编程技术网

React native 反应导航自定义屏幕转换

React native 反应导航自定义屏幕转换,react-native,react-navigation,react-navigation-stack,custom-transition,React Native,React Navigation,React Navigation Stack,Custom Transition,我正在使用带有transitionConfig的堆栈导航器。在场景插值器中,我定义了myCustomTransition(),它将应用于堆栈中的所有屏幕 是否可以将myCustomTransition()仅应用于特定屏幕,并将默认堆栈导航器转换应用于其余屏幕 这是转换配置: const transitionConfig = () => { return { transitionSpec: { duration: 500,

我正在使用带有transitionConfig的堆栈导航器。在场景插值器中,我定义了myCustomTransition(),它将应用于堆栈中的所有屏幕

是否可以将myCustomTransition()仅应用于特定屏幕,并将默认堆栈导航器转换应用于其余屏幕

这是转换配置:

const transitionConfig = () => {
    return {
        transitionSpec: {
            duration: 500,
            easing: Easing.out(Easing.poly(4)),
            timing: Animated.timing,
            useNativeDriver: true,
        },

        screenInterpolator: sceneProps => {
            const { scene, position, layout } = sceneProps;

            const sceneIndex = scene.index;
            const height = layout.initHeight;

            // is it possible to have a switch statement 
            switch (scene.route.routeName) {
                case 'searchScreen':
                    return myCustomTransition();

                default:
                    return defaultTransition();
            }
        },
    };
};
是否可以使用switch语句将myCustomTransition()仅应用于搜索屏幕

谢谢。

@Vinay Sharma用这个

示例:

const AppStack = createStackNavigator(
    {
        headerMode: "none",
        animationEnabed: true,
        transitionConfig: () => ({
            transitionSpec: {
                easing: Easing.bezier(.88,0.83,.82,.95),
                delay: 100,
                duration: 250,
            },
        }),
    }
);

创建
createStackNavigator
,它可能只包含一个屏幕…嗨,Elango,我提到过我有多个屏幕。此解决方案完全脱离上下文,因为它没有指定如何使用自定义转换。