gpt4 book ai didi

react-native - 如何在选项卡导航器 react 中嵌套包装堆栈导航器的组件

转载 作者:行者123 更新时间:2023-12-03 20:49:49 26 4
gpt4 key购买 nike

当前行为
我正在尝试有一个选项卡导航器,其中一个屏幕/选项卡有一个组件,其中包括一个堆栈导航器。
但是,我目前收到“在导航状态中未找到“路线”错误。
如何繁殖
我目前正在运行的代码也可以作为零食找到。
代码:

    import * as React from 'react';
import { Button, Text, View, StyleSheet } from 'react-native';
import { createAppContainer, createStackNavigator, createBottomTabNavigator } from 'react-navigation';

class ScreenA extends React.Component {
static navigationOptions = {
tabBarLabel: 'A',
};

render() {
return (
<View>
<Text>Screen A</Text>
</View>
);
}
}

class SettingsHome extends React.Component {
render() {
return (
<Button onPress={() => this.props.navigation.navigate('SettingsScreenA')}>
<Text>Navigate to Settings A</Text>
</Button>
);
}
}

class SettingsScreenA extends React.Component {
render() {
return (
<View>
<Text>Settings A</Text>
<Button onPress={() => this.props.navigation.navigate('SettingsA')}>
<Text>Back to SettingsHome</Text>
</Button>
</View>
);
}
}

const SettingsStackNavigator = createStackNavigator({
SettingsHome: { screen: SettingsHome },
SettingsScreenA: { screen: SettingsScreenA }
})

class SettingsScreen extends React.Component {
static navigationOptions = {
tabBarLabel: 'Settings',
}

render() {
return (
<View>
<Text>Some other components...</Text>
<SettingsStackNavigator navigation={this.props.navigation}/>
</View>
);
}
}

const RootTabNavigator = createBottomTabNavigator({
ScreenA: { screen: ScreenA },
Settings: {screen: SettingsScreen },
});

const Navigation = createAppContainer(RootTabNavigator);

export default class App extends React.Component {
render() {
return (
<Navigation />
);
}
}

最佳答案

在此按钮中,您要导航到 SettingsA

<Button onPress={() => this.props.navigation.navigate('SettingsA')}>
<Text>Back to SettingsHome</Text>
</Button>
但是您将设置屏幕的路由定义为 Settings
const RootTabNavigator = createBottomTabNavigator({
ScreenA: { screen: ScreenA },
Settings: {screen: SettingsScreen },
});
您必须通过在选项卡导航器中将 SettingsA 更改为路由名称来修复它
const RootTabNavigator = createBottomTabNavigator({
ScreenA: { screen: ScreenA },
SettingsA: {screen: SettingsScreen },
});

关于react-native - 如何在选项卡导航器 react 中嵌套包装堆栈导航器的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63505649/

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