react-router vs react-router-dom, kapan harus menggunakan satu atau yang lain?


123

Keduanya memiliki Route, Link, dll. Kapan menggunakan salah satu atau lainnya? Saya benar-benar bingung di mana harus menggunakan masing-masing. Sisi server? Sisi klien?

https://reacttraining.com/react-router/

Dalam beberapa contoh Anda harus meneruskan sejarah, pada contoh lainnya tidak. Apa yang harus dilakukan?

<Router history={browserHistory}>

vs.

<Router>

Benar-benar membingungkan kapan harus menggunakan satu atau yang lain, bantuan apa pun dihargai.


Jawaban:


151

react-router berisi semua komponen umum antara react-router-dom dan react-router-native . Kapan sebaiknya Anda menggunakan salah satunya? Jika Anda berada di web, maka react-router-dom harus memiliki semua yang Anda butuhkan karena juga mengekspor komponen umum yang Anda perlukan. Jika Anda menggunakan React Native, react-router-native harus memiliki semua yang Anda butuhkan untuk alasan yang sama. Jadi Anda mungkin tidak perlu mengimpor apapun langsung dari react-router . Sejauh saat Anda menggunakan

<Router history={browserHistory}>

vs.

<Router>

Di RRv4 Anda tidak perlu memberikan browserHistory, itu hanya untuk versi router sebelumnya.

Jika masih bingung bisa cek detail masing-masing paketnya di sini


2
haruskah kita menghapus react-router dari proyek atau itu mempengaruhi react-router-dom ?? apakah paket react-router wajib bekerja dengan react-router-dom?
YÒGÎ

3
@snAtchnAren Ini tidak wajib. Anda tidak perlu paket "react-router" jika Anda telah menginstal "react-router-dom".
Tyler McGinnis

2
Jika saya menggunakan react-router-dom melalui react-router, apakah itu akan mengurangi ukuran bundel saya?
Vrishank

26

react-router-dom adalah nilai react-routertambah:



6

Di v4, react-router mengekspor komponen dan fungsi inti. react-router-dom mengekspor komponen yang sadar DOM, seperti <Link>(yang merender <a>) dan (yang berinteraksi dengan window.history browser).

react-router-domre-ekspor semua ekspor react-router, jadi Anda hanya perlu mengimpor dari react-router-domdalam proyek Anda.


tetapi apakah Anda perlu menginstal npm react-router dan react-router-dom secara terpisah?
joedotnot
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.