React Class Component の書き方

コード: https://codesandbox.io/s/my5z7665my

import React from "react";
import { render } from "react-dom";

class Human extends React.Component {
  constructor(props) {
    super(props);
    this.state = { name: "Nakanishi" };
  }

  render() {
    return <h2>{this.state.name}</h2>;
  }
}

render(<Human />, document.getElementById("root"));

React.Component を拡張 = extends する

class 宣言から始まり constructor を持つ点は同じだが、加えて extends React.Component する必要がある。これによって単なるクラスではなく、React Component に必要な諸性質を受け継いだクラスを作成することができる。

さらに constructor は props を引数にとり、内部で super(props) も実行すること。super(props) により extends した元のクラスの性質を受け継ぐ。

class Human extends React.Component {
  constructor(props) {
    super(props);
  }
}

render メソッドは必須

必ず render メソッドを持つこと。このメソッドがこのコンポーネントが render する内容となる。

class Human extends React.Component {
  constructor(props) {
    super(props);
  }

  render() {
    return <h2>Human</h2>
  }
}

state を与える

class Human extends React.Component {
  constructor(props) {
    super(props);
    // state のためには必ず this.state を使うこと
    // またここには必ずオブジェクトをアサインすること
    this.state = { name: "Nakanishi" };
  }

  render() {
    // state を参照する
    return <h2>{this.state.name}</h2>;
  }
}

results matching ""

    No results matching ""