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

React Native - Stack Navigator Check from which screen has the new panel been opened

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

我试过 this.props.navigation.state.routeName。但是,它只会 return 当前面板的名称,而不是之前的面板。有什么办法可以检查上一个或至少知道它的名字吗?

您可以在 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