ホームページ >ウェブフロントエンド >jsチュートリアル >Reactで子コンポーネントから親コンポーネントの状態を更新するにはどうすればよいですか?

Reactで子コンポーネントから親コンポーネントの状態を更新するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 00:29:11253ブラウズ

How to Update Parent Component State from a Child Component in React?

React のコールバック関数を介して親の状態更新を渡す

ネストされた React コンポーネントを操作する場合、コンポーネントの状態を更新する必要がある場合があります。子コンポーネント内の親コンポーネント。プロパティは不変であるため、それらに値を直接割り当てることは現実的ではありません。

このようなシナリオでは、別のアプローチとして、親の状態を更新できるようにする関数を子コンポーネントに渡すことが含まれます。これは次のように実現できます。

// Parent Component
class Parent extends React.Component {
  constructor(props) {
    super(props);

    this.handler = this.handler.bind(this);
  }

  handler() {
    this.setState({
      someVar: 'some value',
    });
  }

  render() {
    return <Child handler={this.handler} />;
  }
}

// Child Component
class Child extends React.Component {
  render() {
    return <Button onClick={this.props.handler} />;
  }
}

このメカニズムを通じて、子コンポーネントは props を通じて提供される関数を呼び出し、親の状態を更新できます。

ただし、次のことに注意することが重要です。コンポーネントの構造を再評価する必要がある場合があります。例のコンポーネント 5 と 3 には直接の関係がないようです。

考えられる解決策の 1 つは、コンポーネント 5 と 3 の両方をカプセル化する上位レベルのコンポーネントを導入することです。この親コンポーネントは、コンポーネント 5 とコンポーネント 3 に関連する状態を維持できます。両方の子コンポーネントを取得し、それを props を通じて渡します。

以上がReactで子コンポーネントから親コンポーネントの状態を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。