Adakah yang bisa menjelaskan perbedaannya?
<Route exact path="/" component={Home} />
dan
<Route path="/" component={Home} />
Saya tidak tahu arti 'tepat'
Adakah yang bisa menjelaskan perbedaannya?
<Route exact path="/" component={Home} />
dan
<Route path="/" component={Home} />
Saya tidak tahu arti 'tepat'
Jawaban:
Dalam contoh ini, tidak ada yang benar-benar terjadi. The
exact
param datang ke dalam bermain ketika Anda memiliki beberapa jalur yang memiliki nama yang mirip:Misalnya, bayangkan kami memiliki
Users
komponen yang menampilkan daftar pengguna. Kami juga memilikiCreateUser
komponen yang digunakan untuk membuat pengguna. Url untukCreateUsers
harus bersarang di bawahUsers
. Jadi pengaturan kami dapat terlihat seperti ini:Sekarang masalahnya di sini, ketika kita pergi ke
http://app.com/users
router akan melalui semua rute yang kita tentukan dan mengembalikan kecocokan PERTAMA yang ditemukannya. Jadi dalam hal ini, ia akan menemukanUsers
rute terlebih dahulu dan kemudian mengembalikannya. Semuanya bagus.Tetapi, jika kita pergi ke
http://app.com/users/create
, itu akan kembali melalui semua rute yang kita tentukan dan mengembalikan kecocokan PERTAMA yang ditemukannya. Bereaksi router melakukan pencocokan sebagian, sehingga/users
sebagian cocok/users/create
, sehingga akan mengembalikanUsers
rute yang salah!The
exact
param menonaktifkan pencocokan parsial untuk rute dan memastikan bahwa itu hanya mengembalikan rute jika jalan adalah pertandingan EXACT ke url saat ini.Jadi dalam hal ini, kita harus menambahkan rute
exact
kitaUsers
sehingga hanya akan cocok dengan/users
:Dokumen menjelaskan
exact
secara rinci dan memberikan contoh lain.sumber
exact
harus menjadi standar dalam pendapat saya/admin//users
di komponen Admin, dan/admin/users/create
di komponen Root ??? Saat ini saya mengalami situasi ini danexact
solusi tipikal tidak bekerja dengan baik.Singkatnya, jika Anda memiliki beberapa rute yang ditentukan untuk perutean aplikasi Anda, ditutup dengan
Switch
komponen seperti ini;Maka Anda harus memasukkan
exact
kata kunci ke Rute yang jalurnya juga disertakan oleh jalur Rute lain. Misalnya jalur home/
disertakan dalam semua jalur sehingga perlu memilikiexact
kata kunci untuk membedakannya dari jalur lain yang dimulai dengan/
. Alasannya juga mirip dengan/functions
jalan. Jika Anda ingin menggunakan jalur rute lain seperti/functions-detail
atau/functions/open-door
yang termasuk/functions
di dalamnya maka Anda perlu menggunakanexact
untuk/functions
rute tersebut.sumber
Lihatlah di sini: https://reacttraining.com/react-router/core/api/Route/exact-bool
tepat: bool
Ketika benar, hanya akan cocok jika jalurnya cocok dengan
location.pathname
persis.sumber
Jawaban terpendek adalah
Silakan coba ini.
sumber
exact
atribut / prop, dan dengan demikian jelas bukan "jawaban". Anda harus mencoba menjawab pertanyaan yang sebenarnya ditanyakan daripada memberikan solusi untuk masalah yang Anda tidak yakin dengan OP sebenarnya.