reactjs - React Native - Stack Navigator 检查从哪个屏幕打开了新面板

标签 reactjs routes screen native navigator

我正在使用Stack Navigator用于在屏幕之间导航。我有一个信息屏幕,可以从我的应用程序中的其他两个不同屏幕访问该屏幕。根据我尝试从哪个屏幕访问“信息”面板,上面应该显示不同的文本。如何检查当前屏幕之前的屏幕(信息屏幕)?

我尝试使用this.props.navigation.state.routeName。但是,它只会返回当前面板的名称,而不是之前的面板的名称。有什么方法可以检查前一个或至少知道它的名称吗?

最佳答案

您可以在 params 中传递要导航到 info 屏幕的屏幕名称

let { routeName } = this.props.navigation.state;

this.props.navigation.navigate('info', {
  lastScreen: routeName 
});

并获取上一个的名称。 info 屏幕中的屏幕如下

const { lastScreen } = this.props.navigation.state.params;
....

希望对您有所帮助。

了解更多关于Passing parameters to routes的信息

关于reactjs - React Native - Stack Navigator 检查从哪个屏幕打开了新面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48981301/

相关文章:

javascript - 如何在页面重新加载时清除 react-router 中的 location.state?

android - 是否所有 10 英寸安卓平板电脑都被识别为 xlarge?

javascript - 更改状态而不覆盖 react 中的其他值

javascript - React Native 进度 View iOS 不重新渲染

node.js - 快速路由器旁路

ruby-on-rails-3 - Rails 将路由与 slugs 匹配,而无需在链接中使用 ID

asp.net-mvc-2 - 将用户从 SEO 之类的 url 重定向到 ASP.NET MVC 2 中的 Controller 操作

java - 无法获取另一个类中的屏幕宽度和高度值

android - 如何找到手机所在的密度桶?

javascript - 怎么把这3张图放在左边,3张放在右边呢?