繁体   English   中英

React 导航重置历史记录

[英]React Navigation Reset History

我有 3 个屏幕,A、B 和 C。

A 转到表单 B,完成后转到 C。当您从 C 返回时,我不想将 go 返回到临时表单 B,而是返回到 A。

有没有办法,当从 A 到 C 时,将导航历史从 A->B->C 重置为 A->C?

我试过类似的东西:

        navigation.dispatch(
            CommonActions.reset({
              index: 0,
              routes: [
                {name: 'C', params:{data:data}},
                { name: 'B', params:{album: route.params.product, id: route.params.data.id} },
                { name: 'A'},

              ],
            })
          );

但它不起作用,记录The action 'GO_BACK' was not handled by any navigator. 错误。 我在想这是因为索引为 0。有没有办法添加索引 1、2、3 等以添加更多历史记录?

您可以尝试不同的选项,例如官方文档https://reactnavigation.org/docs/navigating中的.navigate.push

从 B 导航到 C 时应该使用导航的替换 api。

//In B page
navigation.replace("C",{key:value}).

替换操作将删除 B 并将 C 压入堆栈。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM