Pat*_*rty 2 navigation react-native stack-navigator
我目前正在开发一个用react-native 编写的移动应用程序。该项目有许多不同的屏幕,所有这些屏幕都使用 createStackNavigator 进行配置。
我需要能够动态更改动画方向。我可以在应用程序的不同部分导航到同一页面,但需要不同的动画。(动画是指当前屏幕退出视图的方向)
我知道在定义选项以设置导航方向时可以将选项传递到屏幕。不幸的是,这对我来说没有用,因为动画可能会因页面而异。
我的项目中的示例屏幕声明(名称已被清理):
<NavigationContainer ref={navigationRef}>
<Stack.Navigator initialRouteName={initialRoute}>
<Stack.Screen name="screen1" component={screen1} options={{headerShown: false, gestureEnabled: false}} />
<Stack.Screen name="screen2" component={screen2} options={{headerShown: false, gestureEnabled: false}} />
<Stack.Screen name="screen3" component={screen3} options={{headerShown: false, gestureEnabled: false}} />
<Stack.Screen name="screen4" component={screen4} options={{headerShown: false, gestureEnabled: false}} />
</Stack.Navigator>
</NavigationContainer>
Run Code Online (Sandbox Code Playgroud)
导航重置示例:
navigation.reset({
index: 0,
routes: [{ name: "screen1", params: { param1: 'paramStrData' } }]
});
Run Code Online (Sandbox Code Playgroud)
导航替换示例:
navigation.replace('screen2', { param1: 'param1StrData'})
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望能够将导航动画方向传递给替换或重置功能。
这是可能吗?
再次提前致谢。
小智 10
添加道具 persentation ,animationTypeForReplace ,像这样的动画。
<Stack.Screen
name="screen1"
component={screen1}
options={{
headerShown: false,
presentation: 'modal',
animationTypeForReplace: 'push',
animation:'slide_from_right'
}}
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15115 次 |
| 最近记录: |