ホームページ >ウェブフロントエンド >jsチュートリアル >React で子コンポーネントに Props を渡すにはどうすればよいですか?

React で子コンポーネントに Props を渡すにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 19:08:20347ブラウズ

How Can I Pass Props to Children Components in React?

Props を {this.props.children} に渡す

子要素を受け入れる汎用コンポーネントを定義する場合、特定のプロパティをそれらすべての子コンポーネントに渡すことが必要になります。 。 React コンポーネント パラダイムでは、これは {this.props.children} を使用することで実現されます。しかし、疑問が生じます: これらのプロパティをどのように継承するのですか?

新しい Props で子のクローンを作成する

React.Children には、子要素を反復処理してクローンを作成するユーティリティが用意されており、変更されたプロパティを作成できます。新しいプロパティを含むバージョン:

const Child = ({ childName, sayHello }) => <button onClick={() => sayHello(childName)}>{childName}</button>;

function Parent({ children }) {
  function sayHello(childName) {
    console.log(`Hello from ${childName} the child`);
  }

  const childrenWithProps = React.Children.map(children, (child) => {
    if (React.isValidElement(child)) {
      return React.cloneElement(child, { sayHello });
    }
    return child;
  });

  return <div>{childrenWithProps}</div>;
}

注: 通常、使用することはお勧めしません。 cloneElement アプローチは、脆弱性と型安全性の問題の可能性があるため、使用されません。

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

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