Reactjs 如何使用CreateBoottomTabNavigator和现有createStackNavigator手动导航
我有一个Reactjs 如何使用CreateBoottomTabNavigator和现有createStackNavigator手动导航,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我有一个StackNavigator,如下所示。NavigationScreen组件内部有底部选项卡 App.js const MainNavigator = createStackNavigator( { Login: LoginScreen, Home: NavigationScreen, ProductDetail: ProductDetailScreen, OrderDetail: OrderDetailScreen, Search: Sear
StackNavigator
,如下所示。NavigationScreen
组件内部有底部选项卡
App.js
const MainNavigator = createStackNavigator(
{
Login: LoginScreen,
Home: NavigationScreen,
ProductDetail: ProductDetailScreen,
OrderDetail: OrderDetailScreen,
Search: SearchScreen
},
{
initialRouteName: "Login"
}
);
const AppContainer = createAppContainer(MainNavigator);
export default class App extends React.Component {
render() {
return <Root><AppContainer ref={navigatorRef => { setTopLevelNavigator(navigatorRef); }} /></Root>;
}
}
const TabNavigator = createBottomTabNavigator({
Homepage: {
screen: HomepageTab,
navigationOptions: {
tabBarIcon: ({ focused, tintColor }) => {
return <Image
source={focused ? homeActiveImg : homeImg }
style={styles.footerIcons}/>;
},
}
},
Products: {
screen: ProductsTab,
navigationOptions: {
tabBarIcon: ({ focused, tintColor }) => {
return <Image
source={focused ? productsActiveImg : productsImg }
style={styles.footerIcons}/>;
},
}
},
Orders: {
screen: OrdersTab,
navigationOptions: {
tabBarIcon: ({ focused, tintColor }) => {
return <Image
source={focused ? ordersActiveImg : ordersImg }
style={styles.footerIcons}/>;
},
}
},
Users: {
screen: UsersTab,
navigationOptions: {
tabBarIcon: ({ focused, tintColor }) => {
return <Image
source={focused ? usersActiveImg : usersImg }
style={styles.footerIcons}/>;
},
}
}
},
{
lazy: true
});
TabNavigator.navigationOptions = navigation => {
return { header: null };
};
export default TabNavigator;
我不明白底部标签放在哪里。它是堆栈中的一个子吗?@Auticcat你是说导航器?这是StackNavigator:Home:NavigationScreen中的一个页面,所以当我在这里导航时,我会看到一个底部选项卡导航的页面。例如,在UsersTab中,你可以添加一个按钮,它有一个onPress,比如:
onPress=()=>this.props.navigation.navigation(“产品”)
奇怪的是,它工作起来了,它是从bottomTabNavigator生成的导航道具,而不是从堆栈生成的。它甚至不应该有一个函数是push()
没问题!很高兴你找到了答案!很乐意帮忙