Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 升级到React navigation 5:访问路线的子导航状态不安全且已赢得';我不能正常工作_React Native_React Navigation_React Navigation Stack_React Navigation V5_React Navigation Bottom Tab - Fatal编程技术网

React native 升级到React navigation 5:访问路线的子导航状态不安全且已赢得';我不能正常工作

React native 升级到React navigation 5:访问路线的子导航状态不安全且已赢得';我不能正常工作,react-native,react-navigation,react-navigation-stack,react-navigation-v5,react-navigation-bottom-tab,React Native,React Navigation,React Navigation Stack,React Navigation V5,React Navigation Bottom Tab,在我的react原生应用程序中,我将react navigation 3升级为react navigation 5。 但在升级后,当我运行应用程序时,每当我进行任何类型的导航时,总会多次收到此警告: Accessing child navigation state for a route is not safe and won't work correctly 例如,我使用命令this.props.navigation.push在StackNavigator的屏幕之间导航,如下代码所示: &

在我的react原生应用程序中,我将react navigation 3升级为react navigation 5。 但在升级后,当我运行应用程序时,每当我进行任何类型的导航时,总会多次收到此警告:

Accessing child navigation state for a route is not safe and won't work correctly

例如,我使用命令this.props.navigation.push在StackNavigator的屏幕之间导航,如下代码所示:

<Screen header={<Header
                centerComponent={
                    <CustomText style={{ color: colors.primaryText, marginLeft: 15, marginRight: 15 }}>
                        {shop && shop.name}
                    </CustomText>
                }
                leftComponent={
                    <HeaderIcon
                        onPress={() => this.props.navigation.push("SelectShop", { pop: true })}
                        type="material-community"
                        name="store" />
                }
                rightComponent={
                    <HeaderIcon
                        onPress={() => this.props.setProductLayout()}
                        image={numColumns == 1 ? GridIcon : ListIcon} />
                }
            />}>....</Screen>

}
/>}>....
如果我点击每个标题图标,我会得到这个警告。这些导航命令在升级之前都可以使用。升级后,它们仍然可以工作,但会抛出此警告。 我在互联网上搜索,找到了唯一一个发生此警告的地方:

这是一个兼容性层,用于处理React Navigation 4和5之间的各种API差异。我使用这个库是因为我需要一些子组件中的导航道具。但我不明白他们为什么要把警告放在那里!也许我得到警告是因为我没有使用typescript!如果是这样的话,我可以安全地忽略这个警告吗?
感谢您的帮助。

当您升级或安装@react navigation/stack或@react navigation/native version 5.7.x时,会出现此警告

回到:

"@react-navigation/compat": "5.1.28",
"@react-navigation/native": "5.6.1",
"@react-navigation/stack": "5.6.2"
现在也发出了这一警告。顺便说一句,这个警告绝对是好的,只是开发者弄错了。我也在等待更新

参考: