Проверьте метод визуализации NavigationDrawerStructure` - PullRequest
0 голосов
/ 04 ноября 2019

разместил его и на github: https://github.com/react-navigation/react-navigation/issues/6433#issue-517008038

текущая активная версия реакции;"react-native": "0.61.2"

Я получаю эту ошибку при попытке запустить мой проект на эмуляторе Android;(не может публиковать фотографии ....)

Недопустимый тип элемента, ожидаемая строка для встроенных компонентов или класса / функции, но неопределенная, скорее всего вы забыли экспортировать компонент из файла, который он определилв, или вы могли смешать импорт по умолчанию и с именами.

Это мой основной файл кода;

import React from 'react';
import {View, TouchableOpacity} from 'react-native';
import {createAppContainer} from 'react-navigation';
import {createDrawerNavigator} from 'react-navigation-drawer';
import {createStackNavigator} from 'react-navigation-stack';
import HomeScreen from './screens/HomeScreen';
import LoginScreen from './screens/LoginScreen';
import SettingsScreen from './screens/SettingsScreen';
import FontAwesomeIcon from '@fortawesome/fontawesome-svg-core';

const NavigationDrawerStructure = props => {
  const toggleDrawer = () => {
    props.navigationProps.toggleDrawer();
  };
  return (
    <View style={{flexDirection: 'row'}}>
      <TouchableOpacity onPress={toggleDrawer.bind()}>
        <FontAwesomeIcon
          icon="bars"
          style={{width: 25, height: 25, marginLeft: 5}}
        />
      </TouchableOpacity>
    </View>
  );
};

const FirstActivity_StackNavigator = createStackNavigator({
  First: {
    screen: HomeScreen,
    navigationOptions: ({navigation}) => ({
      title: 'Home Screen',
      headerLeft: <NavigationDrawerStructure navigationProps={navigation} />,
      headerStyle: {
        backgroundColor: '#29aae0',
      },
      headerTintColor: '#fff',
    }),
  },
});

const LoginScreen_StackNavigator = createStackNavigator({
  Second: {
    screen: LoginScreen,
    navigationOptions: ({navigation}) => ({
      title: 'Login Screen',
      headerLeft: <NavigationDrawerStructure navigationProps={navigation} />,
      headerStyle: {
        backgroundColor: '#29aae0',
      },
      headerTintColor: '#fff',
    }),
  },
});

const SettingsScreen_StackNavigator = createStackNavigator({
  Third: {
    screen: SettingsScreen,
    navigationOptions: ({navigation}) => ({
      title: 'Settings Screen',
      headerLeft: <NavigationDrawerStructure navigationProps={navigation} />,
      headerStyle: {
        backgroundColor: '#29aae0',
      },
      headerTintColor: '#fff',
    }),
  },
});

const DrawerNavigatorExample = createDrawerNavigator({
  HomeScreen: {
    screen: FirstActivity_StackNavigator,
    navigationOptions: {
      drawerLabel: 'Home Screen',
    },
  },
  LoginScreen: {
    screen: LoginScreen_StackNavigator,
    navigationOptions: {
      drawerLabel: 'Login Screen',
    },
  },
  SettingsScreen: {
    screen: SettingsScreen_StackNavigator,
    navigationOptions: {
      drawerLabel: 'Settings Screen',
    },
  },
});

экспорт по умолчанию createAppContainer (DrawerNavigatorExample);

Ошибкаговорит, что NavigationDrawerStructure должна быть функцией;const NavigationDrawerStructure = props => { Или не экспортировал его;Создайте и используйте в одном файле (без ошибок)

Кто-нибудь может помочь?

...