Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyalurkan Props kepada Komponen Kanak-kanak dalam Reaksi?

Bagaimanakah Saya Boleh Menyalurkan Props kepada Komponen Kanak-kanak dalam Reaksi?

Barbara Streisand
Barbara Streisandasal
2024-12-18 19:08:20315semak imbas

How Can I Pass Props to Children Components in React?

Melalukan Props kepada {this.props.children}

Apabila mentakrifkan komponen generik yang menerima elemen kanak-kanak, ia menjadi perlu untuk menurunkan sifat khusus kepada semua komponen kanak-kanak tersebut . Dalam paradigma komponen React, ini dicapai melalui penggunaan {this.props.children}. Walau bagaimanapun, persoalan timbul: bagaimana anda menurunkan sifat tersebut?

Mengklon Kanak-Kanak dengan Alat Baharu

React.Children menyediakan utiliti untuk mengulang dan mengklon elemen kanak-kanak, membolehkan anda membuat diubah suai versi dengan prop baharu:

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>;
}

Nota: Biasanya tidak disyorkan untuk menggunakan pendekatan cloneElement kerana potensi kerapuhan dan potensi isu keselamatan jenis.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalurkan Props kepada Komponen Kanak-kanak dalam Reaksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn