TypeError: невозможно установить свойство 'props' с неопределенной или нулевой ссылкой - реагировать на собственный компонент

Я новичок в реакции на родную. как я проверил, мой код в порядке, где я учусь о компоненте, но все еще получаю ошибку для реквизита, даже в документации реагирует нативно, используя компонент реквизита, как я использую, но почему все еще получается ссылка на документ для проверки ошибок ( https://facebook.github.io / Reaction-native / Документы / Реквизит )

    import React, {Component} from 'react'
    import { StyleSheet, Text, View } from 'react-native'

    class UserInformation extends Component(){
      render(){
        return(
          <View>
            <Text>{this.props.Name}</Text>
            <Text>{this.props.Status}</Text>
          </View>
        );
      }

}

function App() {

  return (
    <View style={styles.container}>

       <UserInformation Name='Hamza' Status='Single' />
       <UserInformation Name='Shahwar' Status='Comitted' />
    </View>
  );
}

export default App;

Ошибка: TypeError: Невозможно установить свойство 'props' с неопределенной или нулевой ссылкой

Всего 2 ответа


Вы не можете extend функциональный компонент. Вместо этого мне кажется, что это опечатка здесь:

class UserInformation extends Component{
                            //--------^^-------remove ()

Если вы используете компонент класса, вам нужно изменить

class UserInformation extends Component(){

в

class UserInformation extends React.Component{

и добавить

constructor(props) {
 super(props) // <---- this is the part which give you this.props
}

Но ... Я предлагаю вам использовать функциональный компонент, такой как App ()

const UserInformation = (props) => {
        return(
          <View>
            <Text>{props.Name}</Text>
            <Text>{props.Status}</Text>
          </View>
        );
}

Есть идеи?

10000