使用或不使用构造函数来反应初始化状态

时间:2020-09-07 04:41:33

标签: reactjs

我反应还很陌生,我只是想知道为什么我们在初始化状态时在构造函数中使用this.state而只在不使用构造函数的情况下使用此状态。

我们说:

我已经用构造函数创建了一个组件,在这里我必须指定this.state来初始化状态。

    class Test {

   constructor(){
    super();
    this.state = {
       name : ""
   }

     }

   }

如果我创建一个没有构造函数的组件,则只能使用state来初始化状态:

 class Test{
   state = {
      name : ""
   }
   }

1 个答案:

答案 0 :(得分:1)

您可以像下面那样初始化状态,也可以使用React Hooks

从'react'导入React;

class YourComponent extends React.Component {
  state = {
    title: 'hello world',
  };

  render() {
    const { title } = this.state;
    return <h1>{title}</h1>;
  }
}

export default YourComponent;

使用Hook,您可以初始化如下所示的状态。

import React, { useState } from 'react';

const YourComponent = () => {
  const [title, setTitle] = useState('hello world');

  return <h1>{title}</h1>;
};

export default YourComponent;