React-native: выражение Super должно быть либо null, либо функцией, а не undefined
Я видел похожие вопросы, но я не могу показать эту проблему.
Я использую реакцию native v 0.27
Я изменил все свои методы запроса на импорт.
Здесь ошибка, которую я получаю:
![введите описание изображения здесь]()
Я не знаю, соответствует ли его актуальная, но первая позиция ошибки указывает на мой файл LoginComp.js, который содержит следующий код:
/**
* Sample React Native App
* https://github.com/facebook/react-native
*/
'use strict';
import React, {
AppRegistry,
Component,
StyleSheet,
Text,
View,
Image,
TextInput,
Button,
TouchableHighlight
} from 'react-native';
class LoginComp extends Component {
constructor(){
super(props);
}
render() {
return (
<View style={{flex: 1}}>
<View style={this.props.styles.loginLogoContainer}>
<Image style={this.props.styles.view1logo} source={require('../imgs/Logo.png')} />
</View>
<View style={this.props.styles.loginContainer}>
<Text>Użytkownik:</Text>
<TextInput
style={this.props.styles.defaultInput}
placeholder="Użytkownik"
stretch={true}
autoComplete={false}
autoCorrect={false}
/>
<Text>Hasło:</Text>
<TextInput
style={this.props.styles.defaultInput}
placeholder="Hasło"
stretch={true}
autoComplete={false}
autoCorrect={false}
secureTextEntry={true}
/>
<TouchableHighlight onPress={this.props.LoginPress}>
<Text style={this.props.styles.loginButton}>Login</Text>
</TouchableHighlight>
</View>
<View style={this.props.styles.registrationWrapper}>
<Text>- lub -</Text>
<TouchableHighlight onPress={this.props.t_Registration}>
<Text style={this.props.styles.registration}>Załóż nowe konto</Text>
</TouchableHighlight>
</View>
</View>
);
}
}
module.exports = LoginComp;
Ответы
Ответ 1
Измените оператор импорта, как показано ниже, и попробуйте.
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Image,
TextInput,
Button,
TouchableHighlight,
} from 'react-native';
Также конструктор должен быть как ниже
constructor(props){
super(props);
}
Ответ 2
Я столкнулся с той же проблемой. Неправильно импортированы
import React, { Component } from "react-native";
вместо
import React, { Component } from "react";
посмотреть этот ответ fooobar.com/questions/839047/...
Ответ 3
Personnaly, я решил эту проблему по-другому:
Я импортировал модуль по умолчанию, например import Module from "./path/to/Module.js"
.
Но в файле Module.js
я пропустил ключевое слово по умолчанию:
export class Module {/*...*/}
→ export default class Module {/*...*/}
Надеюсь, это поможет кому-то. =)
Ответ 4
просто добавьте реквизит в файл App.js
type Props = {}; экспорт класс по умолчанию приложение расширяет компонент