ReferenceError:状态未定义 - React Native

Muh*_*sar 3 reactjs react-native expo

我在练习时收到错误状态未定义,因为我检查文档,他们使用相同的格式来创建状态

function App() {

  // build state
  state = {
    Name:'Hamza',
    Status: 'Comitted'
  };
  // function
  ChangeProfile=()=>{
    this.setState({
      Name: 'Shahwar'
    });
    this.setState({
      Status: 'Divorced'
    });
    console.log('updated',this.state);
  }
  return (
    <View style={styles.container}>
      <Text>{this.state.Name}</Text>
      <Text>{this.state.Status}</Text>
      <Button title="Click Me!" onPress={this.ChangeProfile} />
    </View>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

小智 6

您正在尝试混合基于类和功能基础。你的代码应该是这样的。

function App() {

  const [state, setstate] = useState({
    Name:'Hamza',
    Status: 'Comitted'
  })

  ChangeProfile=()=>{
    setState({
      Name: 'Shahwar',
      Status: 'Divorced'
    });   
    console.log('updated',state);
  }
  return (
    <View style={styles.container}>
      <Text>{state.Name}</Text>
      <Text>{state.Status}</Text>
      <Button title="Click Me!" onPress={this.ChangeProfile} />
    </View>
  );
}
export default App;
Run Code Online (Sandbox Code Playgroud)