0

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

是否可以将myCustomTransition()仅应用于特定屏幕,并将默认堆栈导航器过渡到其余部分?

这是transitionConfig

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()仅应用于searchScreen

谢谢。

4

1 回答 1

0

@Vinay Sharma 使用这个

例子:

const AppStack = createStackNavigator(
    {
        headerMode: "none",
        animationEnabed: true,
        transitionConfig: () => ({
            transitionSpec: {
                easing: Easing.bezier(.88,0.83,.82,.95),
                delay: 100,
                duration: 250,
            },
        }),
    }
);
于 2020-02-06T09:09:37.973 回答