Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menghantar Props dalam Pautan dengan React-Router?

Bagaimana untuk Menghantar Props dalam Pautan dengan React-Router?

Susan Sarandon
Lepaskan: 2024-11-01 13:20:29
asal
1016 orang telah melayarinya

How to Pass Props in Link with React-Router?

Melalui Props dalam Link React-Router

Komponen Pautan React-Router membenarkan penghantaran data antara komponen. Untuk berbuat demikian, tentukan parameter dalam to prop Pautan dan nilai untuk parameter itu boleh diakses dalam komponen yang dipautkan menggunakan this.props.

Isu:

Kod yang disediakan gagal menghantar prop kepada komponen yang dipautkan kerana laluan laluan tiada daripada definisi.

Penyelesaian:

Tambah parameter laluan ke definisi:

<Route name="ideas" path="/:testvalue" handler={CreateIdeaView} />
Salin selepas log masuk

Melalui Data menggunakan Lokasi:

Apabila menggunakan react-router v4/v5, data boleh dihantar melalui objek lokasi:

Pautan (Pertanyaan):

<Link to={{pathname: '/', query: {backUrl: 'theLinkData'}}} />
Salin selepas log masuk

Pautan (Cari):

<Link to={{pathname: '/', search: '?backUrl=theLinkData'}} />
Salin selepas log masuk

Mengakses Data (Komponen Fungsian ):

const CreatedIdeaView = () => {
  const { query, search } = useLocation();
  console.log(query.backUrl, new URLSearchParams(search).get('backUrl'));
};
Salin selepas log masuk

Mengakses Data (Komponen Kelas):

class CreateIdeaView extends React.Component {
  render() {
    console.log(this.props.location.query.backUrl);
    return <div>{this.props.location.query.backUrl}</div>;
  }
}
Salin selepas log masuk

Contoh:

class App extends React.Component {
  render() {
    return (
      <div>
        <Link to={{pathname: '/ideas', query: {foo: 'bar'}}} />
        <RouteHandler />
      </div>
    );
  }
}
Salin selepas log masuk
class Ideas extends React.Component {
  render() {
    const { match, location } = this.props;
    console.log('props form link', this.props);
    return <p>{location.query.foo}</p>;
  }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Props dalam Pautan dengan 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