• はじめに さあ、Reactのクラスコンポーネントについて学びましょう。クラスコンポーネントは、コンポーネントを作成する別の方法で、状態管理やライフサイクルメソッドが使えます。楽しいやり取りでわかりやすく説明してくれるキャラクター、GeekとGalが、クラスコンポーネントの理解を助けてくれます!
Gal Normal

さあ、Reactのクラスコンポーネントについて学ぶ時間だよ!

Geek Curious

おお、いいね!それって関数型コンポーネントと何が違うの?

Gal Happy

クラスコンポーネントはJavaScriptのクラスに基づいていて、状態管理やライフサイクルメソッドが使えるんだ。React Hooksが登場する前は、これが唯一の方法だったんだよ!

  • クラスコンポーネント
Gal Pleased

クラスコンポーネントは React.Component を拡張したJavaScriptのクラスで、JSXを返す render() メソッドが必要になるんだ。クラスコンポーネントの例を見てみよう:

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}!</h1>;
  }
}
Geek Happy

わかった!クラスコンポーネントは、 React.Component を拡張したJavaScriptのクラスで、JSXを返す render() メソッドがあるんだね!

Gal Happy

そうだよ!クラスコンポーネントを使うには、関数型コンポーネントと同じように、カスタムHTMLタグとして書くだけなんだ:

<Welcome name="Charlie" />
Geek Curious

クラスコンポーネントで状態管理やライフサイクルメソッドを使う方法は?

Gal Pleased

いい質問だね!クラスコンポーネントには this.state オブジェクトがあり、状態管理ができるんだ。そして this.setState() を使って更新することができるよ。ライフサイクルメソッドについては、 componentDidMount()componentDidUpdate()componentWillUnmount() などいくつかあるよ!

Gal Normal

ここに、冗談を表示して更新できる面白いクラスコンポーネントの例があるよ:

class JokeBox extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      joke: 'なぜ鶏は道路を渡ったの?向こう側に行くためだよ!😂',
    };
  }

  updateJoke() {
    this.setState({
      joke: 'なぜ自転車は一人で立っていられなかった?2つのタイヤが疲れていたから!😂',
    });
  }

  render() {
    return (
      <div>
        <p>{this.state.joke}</p>
        <button onClick={() => this.updateJoke()}>冗談を更新</button>
      </div>
    );
  }
}
Geek Happy

ははは、おもしろい!クラスコンポーネントはすごく強力そうだね!

Gal Happy

そうだね!ただ、React Hooksが導入されてからは、多くの開発者が関数型コンポーネントを好むようになったんだ。でも、古いプロジェクトや特定のケースでクラスコンポーネントに出会うことがあるから、理解しておくことは重要だよ!😊

  • おわりに Reactのクラスコンポーネントは、JavaScriptのクラスに基づいており、状態管理やライフサイクルメソッドが使えます。関数型コンポーネントよりも少し複雑ですが、古いプロジェクトや特定の状況で作業するために理解することが重要です。学び続けて、あっという間にReactの達人になろう!🌟