#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. Хорошо. Если это поможет, пожалуйста, примите ответ или поддержите его. Спасибо