Здравствуйте, я создаю свое приложение с помощью клиента expo в React Native. У меня проблемы с работой со многими компонентами. Я решил эту проблему на одном из моих компонентов export default <componentName>
, но это решение здесь больше не работает. Я перепробовал несколько решений от github и переполнения стека, но у меня ничего не работает. Кроме того, я столкнулся со многими проблемами и ошибками при создании моего первого приложения на React Native. Пожалуйста, разрешите эту проблему и поддержите меня в React Native Development.
import React, { Component } from 'react';
import Home from './HomeComponent';
import Menu from './MenuComponent';
import ContactUs from './ContactComponent';
import AboutUs from './AboutComponent';
import DishDetail from './DishdetailComponent';
import { DISHES } from '../shared/dishes';
import { View, Platform, Text, ScrollView, Image, StyleSheet } from 'react-native';
import { createStackNavigator, createDrawerNavigator, DrawerItems, SafeAreaView } from 'react-navigation';
import Icon from 'react-native-elements';
import { LEADERS } from '../shared/leaders';
const MenuNavigator = createStackNavigator({
Menu: { screen: Menu,
navigationOptions: ({ navigation }) => ({
headerLeft: <Icon name="menu" size={24}
color='white'
onPress={ () => navigation.toggleDrawer() }
/>
}) },
DishDetail: { screen: DishDetail }
},
{
initialRouteName: 'Menu',
navigationOptions: {
headerStyle: {
backgroundColor: "#512DA8"
},
headerTintColor: '#fff',
headerTitleStyle: {
color: "#fff"
}
}
}
);
const HomeNavigator = createStackNavigator({
Home: { screen: Home }
}, {
navigationOptions: ({ navigation }) => ({
headerStyle: {
backgroundColor: "#512DA8"
},
headerTitleStyle: {
color: "#fff"
},
headerTintColor: "#fff",
headerLeft: <Icon name="menu" size={24}
color= 'white'
onPress={ () => navigation.toggleDrawer() }
/>
})
});
const ContactUsNavigator = createStackNavigator({
ContactUs: { screen: ContactUs }
}, {
navigationOptions: ({ navigation }) => ({
headerStyle: {
backgroundColor: "#512DA8"
},
headerTitleStyle: {
color: "#fff"
},
headerTintColor: "#fff" ,
headerLeft: <Icon name="menu" size={24}
color= 'white'
onPress={ () => navigation.toggleDrawer() }
/>
})
});
const AboutUsNavigator = createStackNavigator({
AboutUs: { screen: AboutUs }
}, {
navigationOptions: ({ navigation }) => ({
headerStyle: {
backgroundColor: "#512DA8"
},
headerTitleStyle: {
color: "#fff"
},
headerTintColor: "#fff",
headerLeft: <Icon name="menu" size={24}
color= 'white'
onPress={ () => navigation.toggleDrawer() }
/>
})
});
const MainNavigator = createDrawerNavigator({
Home:
{ screen: HomeNavigator,
navigationOptions: {
title: 'Home',
drawerLabel: 'Home',
drawerIcon: ({ tintColor }) => (
<Icon
name='home'
type='font-awesome'
size={24}
color={tintColor}
/>
),
}
},
AboutUs: {
screen: AboutUsNavigator,
navigationOptions: {
title: 'About Us',
drawerLabel: 'About Us',
drawerIcon: ({ tintColor }) => (
<Icon
name='info-circle'
type='font-awesome'
size={24}
color={tintColor}
/>
)
}
},
Menu:
{ screen: MenuNavigator,
navigationOptions: {
title: 'Menu',
drawerLabel: 'Menu',
drawerIcon: ({ tintColor }) => (
<Icon
name='list'
type='font-awesome'
size={24}
color={tintColor}
/>
)
}
},
ContactUs:
{
screen: ContactUsNavigator,
navigationOptions: {
title: 'Contact Us',
drawerLabel: 'ContactUs',
drawerIcon: ({ tintColor }) => (
<Icon
name='address-card'
type='font-awesome'
size={22}
color={tintColor}
/>
),
}
}
},
{
drawerBackgroundColor: '#D1C4E9'
});
class Main extends Component {
constructor(props) {
super(props);
this.state = {
dishes: DISHES,
leaders: LEADERS,
selectedDish: null
};
}
onDishSelect(dishId) {
this.setState({selectedDish: dishId})
}
render() {
return (
<View style={{flex:1, paddingTop: Platform.OS === 'ios' ? 0 : Expo.Constants.statusBarHeight }}>
<MainNavigator />
</View>
);
}
}
export default Main;