gpt4 book ai didi

react-native - 如何使用嵌套的 Bottom Tab Navigator 将导航按钮添加到 React Navigation Stack header ?

转载 作者:行者123 更新时间:2023-12-04 14:09:09 26 4
gpt4 key购买 nike

我正在尝试使用 react-native 构建移动应用程序,但在设置 React Navigation 时遇到了一些问题。

我想要实现的是一个导航到“主页”屏幕和“配置文件”屏幕的底部选项卡导航器。在“主页”屏幕上,应该有一个按钮可以导航到页眉中的“设置”屏幕。

我已经到了这样的地步,我有一个底部选项卡导航器,可以在“主页”和“配置文件”屏幕之间成功导航,以及使用堆栈导航标题的设置屏幕标题上的按钮。但是,我无法使用此按钮导航到“设置”屏幕。

我的堆栈导航器代码是:

const MainStackNavigator = () => {
return (
<Stack.Navigator screenOptions={screenOptionStyle}>
<Stack.Screen
name="Home"
component={HomeScreen}
options = { ({navigation}) => ({
title: "Home",
headerStyle: {
backgroundColor: '#ff6600',
},
headerRight: () => (
<Button
onPress={() => navigation.navigate(SettingScreen)}
title="Settings"
color="#fff"
/>
)
})}
/>
<Stack.Screen name="Settings" component={SettingScreen} />
</Stack.Navigator>
);

当我点击“设置”按钮时,出现错误:

“任何导航器都没有处理未定义有效负载的操作‘NAVIGATE’。

你有一个名为“SettingScreen”的屏幕吗?”

在寻找此错误的解决方案时,我找到了这篇文章:Nesting Navigators

它建议将嵌套导航器保持在最低限度。对于这个 UI 设计,我的方法是否正确?有没有一种方法可以只使用一个导航器来实现这一点?

最佳答案

尝试解决这个问题一段时间后,我发现这个问题对我来说很愚蠢。 navigation.navigate 采用要导航到的屏幕的名称,但我给它的是组件。

为了解决我改变的问题

onPress={() => navigation.navigate(SettingScreen)}

onPress={() => navigation.navigate('Settings')}

关于react-native - 如何使用嵌套的 Bottom Tab Navigator 将导航按钮添加到 React Navigation Stack header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65857247/

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