我正在使用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/