【问题标题】:React Native: removing the current screen from the navigation stack maintaining the previous screensReact Native:从导航堆栈中删除当前屏幕,维护以前的屏幕
【发布时间】:2021-09-12 20:00:21
【问题描述】:

我正在构建一个 React Native 应用程序。我正在使用 React Navigation,https://reactnavigation.org/ 进行导航。现在,我正在努力删除当前屏幕或屏幕历史记录,就像在原生 Android 中一样。

我尝试如下重置它。

 props.navigation.reset({
                            index: 0,
                            routes: [{ name: "ItemDetails" }]
                        })

我正在 ItemList 屏幕中调用该代码。但从 HomeScreen 登陆 ItemList 屏幕。如果我使用该代码,主屏幕也会从堆栈中删除。但我只想从堆栈中删除 ItemList 并维护主屏幕。我该怎么做?

【问题讨论】:

    标签: react-native react-navigation


    【解决方案1】:

    编辑:作者指定他想在从堆栈中删除当前页面后转到另一个页面。

    react-navigation 中基于堆栈的导航器具有 replace() 方法,该方法将从堆栈中删除当前屏幕并转到任意路线(或“替换”当前路线)-https://reactnavigation.org/docs/stack-actions/#replace

    如果您只想返回,goBack() 将从堆栈中删除当前屏幕并转到上一个屏幕。 https://reactnavigation.org/docs/navigation-actions/#goback

    【讨论】:

    • 不,我不想回去。我正在尝试转到另一个页面,但从历史记录中删除当前屏幕。
    • 哦,对不起。那么您正在寻找的是 StackActions 对象上的 replace() 方法。堆栈导航器拥有它 - reactnavigation.org/docs/stack-actions/#replace
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 2019-10-23
    • 2021-07-11
    • 2020-12-07
    • 2022-01-20
    • 2017-08-22
    • 1970-01-01
    相关资源
    最近更新 更多