如何在StackNavigator中更改动画的方向?
当用户转到另一个屏幕时,屏幕从下到上飞行.
当用户转到另一个屏幕时,屏幕从右向左飞行.(像Facebook或Instagram!)
export default StackNavigator ({
Main: {
screen: MainScreen,
},
...
}, {
navigationOptions: ({navigation, screenProps}) => ({
tabBarOnPress: blahblaj
}),
lazy: true
// I guess we can do something here
});
Run Code Online (Sandbox Code Playgroud)
提前致谢,
我想执行两个操作,但它不起作用。
const backAction = NavigationActions.back({
key: null
})
const dispatchLogoutAction = NavigationActions.reset({
index: 0,
actions: [NavigationActions.navigate({routeName: "LoginView"})]
});
nextProps.navigation.dispatch(backAction);
nextProps.navigation.dispatch(dispatchLogoutAction);
Run Code Online (Sandbox Code Playgroud)
react-navigation
除了并行列出 dispatch 语句之外,还有哪些其他方法可以调度这两个操作?
就像Facebook,Instagram和任何其他移动应用程序一样,我想实现'回到Stacknavigator中的初始屏幕'
如果您不理解这个用例,请发表评论,我将为您绘制其状态流程
主TabNavigator上的图标代码.
navigationOptions: ({ navigation }) => ({
header: null,
tabBarIcon: ({ focused }) => {
const { routeName } = navigation.state;
....
return (
<TochableWithoutFeedback onPress={()=>{navigation.goback(iconName)}>
// undefined is not a function when I press the Button
// deeper screen. (not getting any error on Main)
<Ionicons
name={iconName}
size={30}
style={{ marginBottom: -3 }}
color={focused ? Colors.tabIconSelected : Colors.tabIconDefault}
/>
<TochableWithoutFeedback>
);
},
Run Code Online (Sandbox Code Playgroud)