Javascript 是重置导航堆栈更好,还是只是防止返回到上一个屏幕?
我目前正在用react native开发一个移动应用程序。对于某些场景,我对导航堆栈感到有点困惑,例如:Javascript 是重置导航堆栈更好,还是只是防止返回到上一个屏幕?,javascript,android,ios,react-native,navigation,Javascript,Android,Ios,React Native,Navigation,我目前正在用react native开发一个移动应用程序。对于某些场景,我对导航堆栈感到有点困惑,例如: 用户成功登录并重定向到主屏幕 用户通过购物流程选择产品,进入购物车,结帐,直到完成交易,然后再次返回主屏幕 哪一个更好?重置导航堆栈,或者只是设计屏幕以防止返回(Android上的后退按钮,或者iOS中的平移手势) 我应该使用什么导航库?是一个推荐的库,特别是对于初学者 对于第一种情况,使用React Navigation,您只需要像这样使用它的方法(params是一个可选参数): 对于第
操作数组添加另一个相同的值,如下所示(参数仍然是可选的)
请记住,index
prop表示要向用户显示的action
数组中某个路由的索引,这意味着如果action
数组中有2个项目和index:1
,用户将重定向到第一个路由之上的第二个路由在顶部表示后退按钮将指向它
您可以向action
数组中添加任意数量的路由,只要您想将它们堆叠在彼此之上即可 谢谢Eduard的精彩解释!react navigation reset是否提供动画?@KevinDave不客气,基本的本地动画是
this.props.navigation.navigate('home', params: { some: 'data' }); // ;
import { NavigationActions } from 'react-navigation'
const resetAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Home', params: this.props.navigation.state.params })
]
})
this.props.navigation.dispatch(resetAction)
import { NavigationActions } from 'react-navigation'
const resetAction = NavigationActions.reset({
index: 1,
actions: [
NavigationActions.navigate({ routeName: 'Home', params: this.props.navigation.state.params }),
NavigationActions.navigate({ routeName: 'AnotherPage', params: this.props.navigation.state.params })
]
})
this.props.navigation.dispatch(resetAction)