如何使管理屏幕像android singleTask模式一样?

时间:2017-07-04 03:29:22

标签: react-native navigation

假设以下屏幕:

  

AScreen - > BScreen - > CScreen - > ASreen

然后使用back操作进入家中(在Android和IoS上相同)。

当使用:

时,如何使其表现得像android的singleTask模式
  

(" react-navigation":" ^ 1.0.0-beta.11")

1 个答案:

答案 0 :(得分:2)

您可以使用反应导航来实现此目的 使用navigate导航到屏幕A和B.然后在屏幕C上,您可以使用Backhandler来按下后退按钮。然后重置路由器,该路由器将弹出除根之外的现有屏幕(即屏幕A)。

重置代码如下所示:

import { NavigationActions } from 'react-navigation'

const resetAction = NavigationActions.reset({
  index: 0,
  actions: [
    NavigationActions.navigate({ routeName: 'Profile'}),
    NavigationActions.navigate({ routeName: 'Settings'})
  ]
})
this.props.navigation.dispatch(resetAction)

将索引设置为0会将其重置为Profile。将其设置为1将重置为设置页面。请参阅navigation actions上的文档。