react-router vs react-router-dom, birini veya diğerini ne zaman kullanmalı?


123

Her ikisinde de Rota, Bağlantı vb. Bulunur. Biri veya diğerini ne zaman kullanmalı? Her birini nerede kullanacağım konusunda gerçekten kafam karıştı. Sunucu tarafı mı? İstemci tarafı mı?

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

Bazı örneklerde geçmişi geçmeniz gerekir, bazılarında geçmemeniz gerekir. Ne yapalım?

<Router history={browserHistory}>

vs

<Router>

Herhangi bir yardımın ne zaman kullanılacağı gerçekten kafa karıştırıcı.


Yanıtlar:


151

react-router , react-router-dom ve react-router-native arasındaki tüm ortak bileşenleri içerir . Birini diğerine ne zaman kullanmalısınız? Web üzerindeyseniz, react-router-dom ihtiyacınız olan her şeye sahip olmalıdır, çünkü ihtiyacınız olan ortak bileşenleri de dışa aktarır. React Native kullanıyorsanız, react-router-native aynı nedenle ihtiyacınız olan her şeye sahip olmalıdır. Dolayısıyla, muhtemelen hiçbir zaman doğrudan react-router'dan bir şey içe aktarmanız gerekmeyecek . Ne zaman kullandığın kadarıyla

<Router history={browserHistory}>

vs

<Router>

RRv4'te, sadece yönlendiricinin önceki sürümleri için olan browserHistory'yi geçmeniz gerekmeyecek.

Hala aklınıza, her paketin ayrıntılarını kontrol edebilirsiniz burada


2
react-router'ı projeden kaldırmalı mıyız yoksa react-router-dom'u etkiliyor mu? react-router paketi react-router-dom ile çalışmak için zorunlu mu?
YÒGÎ

3
@snAtchnAren Zorunlu değil. "React-router-dom" u zaten kurduysanız "react-router" paketine asla ihtiyacınız olmamalıdır.
Tyler McGinnis

2
React-router üzerinden react-router-dom kullanırsam, paketimin boyutunu azaltır mı?
Vrishank

26

react-router-dom bir react-routerartıdır:



6

V4'te react-router, temel bileşenleri ve işlevleri dışa aktarır. react-router-dom, <Link>(oluşturan <a>) ve (tarayıcının window.history ile etkileşime giren) gibi DOM'a duyarlı bileşenleri dışa aktarır .

react-router-domreact-router'ın tüm dışa aktarımlarını yeniden dışa aktarır, böylece yalnızca react-router-domprojenizden içe aktarmanız gerekir .


ama npm hem react-router hem de react-router-dom'u ayrı ayrı kurmanız gerekiyor mu?
2019
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.