我有一个这样的导航容器
<NavigationContainer ref={navigationRef}></NavigationContainer>
我正在尝试像这样重置堆栈,这是重置为第一条路线,而不是第二条
navigationRef.current?.dispatch(CommonActions.reset(
{
index: 1,
routes: [{
name: Route.TASK_NAVIGATOR,
state: {
routes: [{
name: Route.TASK_LIST_TAB_NAVIGATOR
}]
}
}, {
name: Route.TASK_NAVIGATOR,
state: {
routes: [{
name: Route.TASK_CRUD_TAB_NAVIGATOR,
params: { mode: CrudMode.VIEW, task }
}]
}
}]
}))
如果我使用索引 0 并像这样使用它,它就可以工作
navigationRef.current?.dispatch(CommonActions.reset(
{
index: 0,
routes: [{
name: Route.TASK_NAVIGATOR,
state: {
routes: [{
name: Route.TASK_CRUD_TAB_NAVIGATOR,
params: { mode: CrudMode.VIEW, task }
}]
}
}]
}))
我需要的是重置到第二个堆栈并保持第一个,因此android后退按钮可以向后导航,标题中的后退箭头也可以,但由于某种原因这些都不起作用。
如果我这样使用它,它也不会工作,它会转到那个屏幕,但没有后退箭头,我的第一个选项卡只有该屏幕可用,直到应用程序重新启动。
navigationRef.current?.navigate(Route.TASK_NAVIGATOR, {
screen: Route.TASK_CRUD_TAB_NAVIGATOR,
params: { mode: CrudMode.VIEW, task }
})