gpt4 book ai didi

javascript - 如何从 React Navigation 获取以前的路线名称

转载 作者:行者123 更新时间:2023-11-30 19:36:04 25 4
gpt4 key购买 nike

我正在尝试将以前的路线名称获取到当前屏幕。因为基于之前的屏幕名称,我必须在当前屏幕中显示/隐藏几个对象。

为了获取以前的屏幕名称,我尝试了以下操作

componentDidMount() {
const { navigation } = this.props;
if (navigation.state.params && navigation.state.params.previous_screen) {
console.log('navigation.state.params.previous_screen', navigation.state.params.previous_screen);
}
}

但是,它在控制台日志中变得undefined

有什么建议吗?

最佳答案

对于 Stack Navigators,我能够在 react-navigation v6 中动态获取之前的路由名称:

// `navigation` const is passed to the screen component or from useNavigation()
const routes = navigation.getState()?.routes;
const prevRoute = routes[routes.length - 2]; // -2 because -1 is the current route

注意:这对于将参数动态传递回前一个屏幕非常有用。但要注意嵌套路由,语法略有不同。

if (prevRoute.name === "<Some Routing Key>") {
navigation.navigate("<Some Routing Key>", params);
}

关于javascript - 如何从 React Navigation 获取以前的路线名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55942600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com