You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native支付完成后清除全部导航历史的实现方案

解决React Native支付后清除导航历史的问题

要彻底清除所有导航历史,让用户无法返回支付流程相关页面,你可以使用React Navigation的reset方法,直接重置整个导航栈,只保留MainScreen作为栈中唯一的页面。

在你的Checkout页面中,完成交易后执行以下代码:

// 完成支付逻辑后调用
navigation.reset({
  index: 0,
  routes: [{ name: 'MainScreen' }],
});

代码说明

  • index: 0:指定当前活动路由在routes数组中的索引,这里因为只有一个路由,所以设为0。
  • routes: [{ name: 'MainScreen' }]:定义重置后的导航栈内容,只包含MainScreen,这样之前的所有页面(Home、Cart、Checkout等)都会被从栈中移除,用户无法通过返回键回到这些页面。

对比你之前用的navigation.replace,它只是替换栈的顶部页面,而reset会完全重建导航栈,彻底清除历史,正好符合你支付完成后禁止返回的需求。

内容的提问来源于stack exchange,提问作者louis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:31:06