Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Melepasi Props dalam Komponen \'Pautan\' React-Router?

Bagaimana untuk Melepasi Props dalam Komponen \'Pautan\' React-Router?

Patricia Arquette
Lepaskan: 2024-11-01 04:44:02
asal
786 orang telah melayarinya

How to Pass Props in React-Router's

Pass Props dalam "Link" React-Router

Apabila menggunakan React with React-Router, anda boleh menghantar sifat kepada paparan baharu menggunakan sintaks yang diubah suai dalam komponen.

Sintaks yang dikemas kini dalam React-Router v4 dan v5

Untuk menghantar prop dalam React-Router v4 dan v5, gunakan sintaks berikut:

<Link to={{ pathname: path, query: queryObject, search: searchString }}>
  ...
</Link>
Salin selepas log masuk

di mana:

  • nama laluan ialah laluan ke paparan baharu.
  • pertanyaan ialah objek yang mengandungi parameter pertanyaan.
  • carian ialah rentetan yang mewakili rentetan pertanyaan, seperti ?foo=bar.

Mengakses Props dalam Komponen Destinasi

Dalam komponen destinasi, anda boleh mengakses prop yang diluluskan melalui Pautkan dengan menggunakan teknik berikut:

Penggunaan lapuk komponen tertib tinggi withRouter:

  • Balut komponen destinasi dengan withRouter, yang menyediakan akses kepada padanan dan prop lokasi:
const NewView = withRouter(OriginalView);
Salin selepas log masuk

Pelaksanaan semasa menggunakan cangkuk:

  • Gunakan useParams dan useLocation cangkuk dalam komponen berfungsi untuk mengakses prop padanan dan lokasi:
const NewView = () => {
  const { testvalue } = useParams();
  const { query, search } = useLocation();

  return (
    <div>
      {testvalue} {query.backUrl}
    </div>
  );
};
Salin selepas log masuk

Contoh

Pertimbangkan contoh berikut:

App.js:

<Link to={{ pathname: '/ideas/:testvalue', query: { testvalue: 'hello' } }}>Create Idea</Link>
Salin selepas log masuk

CreateIdeaView.js:

const CreateIdeaView = () => {
  const { testvalue } = useParams();
  console.log(testvalue); // prints 'hello'

  return (
    <div>{testvalue}</div>
  );
};
Salin selepas log masuk

Dalam contoh ini, mengklik pautan "Buat Idea" melepasi nilai ujian sifat dengan nilai helo kepada komponen CreateIdeaView.

Nota:

  • Laluan dalam komponen Pautan hendaklah termasuk pemegang tempat parameter, mis. laluan: '/ideas/:testvalue'.
  • Cakuk useParams mengembalikan objek dengan semua parameter yang ditentukan dalam laluan.
  • Cakuk useLocation mengembalikan objek dengan maklumat tentang lokasi semasa, termasuk pertanyaan dan carian.
  • Pertanyaan ialah objek yang mengandungi pasangan nilai kunci, manakala rentetan carian mengandungi keseluruhan rentetan pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk Melepasi Props dalam Komponen \'Pautan\' React-Router?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan