Как решить эту проблему в react native: исключение компонента

#javascript #android #ios #react-native

#javascript #Android #iOS #react-native

Вопрос:

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

Проверьте метод визуализации Application .

 enter code here
import React, { Component } from 'react'; 
import { View, StatusBar, TouchableOpacity, Image } from 'react-native'; 
import Camera from 'react-native-camera'; 
import styles from './styles'; 
import PhotoCaptureIcon from '../assets/ic_photo_camera_36pt.png'; 


export default class Application extends Component { 
   constructor(props){
       super();
       this.camera=null;
   }

   takePicture= () =>{
       if(this.camera){
           this.camera.capture()
           .then((Data)=> console.log(data))
           .catch(err=> console.error(err));
       }
   }

   render(){
       return (
           <View style={styles.container}>
                <StatusBar animated hidden /> 
                <Camera 
                    ref={(cam) => { 
                        this.camera = cam; 
                    }} 
                    style={styles.preview} 
                /> 
            <View style={[styles.overlay, styles.bottomOverlay]}> 
                <TouchableOpacity style={styles.captureButton} onPress= {this.takePicture}>  

                    <Image source={PhotoCaptureIcon} /> 
                </TouchableOpacity> 
            </View> 
        </View>

       );
   }
  

}

Ответ №1:

Вы в основном ссылаетесь на экспорт по умолчанию из react-native-camera. Это не сработает, потому что оно не ссылается на компонент камеры, который теперь экспортируется как RNCamera. Подробнее об этом можно прочитать здесь .

Вам нужно заменить это

import Camera from 'react-native-camera';

с помощью этого

import { RNCamera as Camera } from 'react-native-camera' .

Это правильно отобразит компонент камеры, и ошибка должна быть исправлена. Удачи

Комментарии:

1. Хорошо. Если это поможет, пожалуйста, примите ответ или поддержите его. Спасибо