react-router vs react-router-dom เมื่อใดควรใช้อย่างใดอย่างหนึ่ง


124

ทั้งสองมีเส้นทางเชื่อมโยง ฯลฯ เมื่อใดควรใช้อย่างใดอย่างหนึ่ง ฉันสับสนจริงๆว่าจะใช้แต่ละอันได้ที่ไหน ฝั่งเซิร์ฟเวอร์? ด้านลูกค้า?

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

ในบางตัวอย่างคุณต้องส่งประวัติ แต่อย่างอื่นไม่ได้ จะทำอย่างไร?

<Router history={browserHistory}>

VS

<Router>

มันสับสนจริงๆว่าเมื่อใดควรใช้อย่างใดอย่างหนึ่งความช่วยเหลือใด ๆ ที่ชื่นชม


คำตอบ:


152

ตอบสนองเราเตอร์มีทุกองค์ประกอบร่วมกันระหว่างตอบสนองเตอร์-Domและตอบสนองเตอร์พื้นเมือง คุณควรใช้เมื่อใด หากคุณอยู่บนเว็บreact-router-domควรมีทุกสิ่งที่คุณต้องการเนื่องจากยังส่งออกส่วนประกอบทั่วไปที่คุณต้องการ หากคุณใช้ React Native react-router-nativeควรมีทุกสิ่งที่คุณต้องการด้วยเหตุผลเดียวกัน ดังนั้นคุณอาจจะไม่เคยมีอะไรที่นำเข้าโดยตรงจากการตอบสนองเราเตอร์ เท่าเมื่อคุณใช้

<Router history={browserHistory}>

VS

<Router>

ใน RRv4 คุณไม่จำเป็นต้องผ่าน browserHistory นั่นเป็นเพียงสำหรับเราเตอร์เวอร์ชันก่อนหน้า

หากคุณยังสับสนคุณสามารถตรวจสอบรายละเอียดของแต่ละแพ็คเกจได้ที่นี่


2
เราจะลบ react-router ออกจากโครงการหรือไม่หรือมีผลต่อ react-router-dom ?? แพคเกจ react-router จำเป็นต้องใช้กับ react-router-dom หรือไม่
YÒGÎ

3
@snAtchnAren มันไม่บังคับ คุณไม่ควรต้องใช้แพ็กเกจ "react-router" หากคุณได้ติดตั้ง "react-router-dom" แล้ว
Tyler McGinnis

2
หากฉันใช้ react-router-dom กับ react-router จะลดขนาดของบันเดิลหรือไม่
Vrishank

26

react-router-dom เป็นข้อดีreact-router:



6

ใน v4 react-router จะส่งออกส่วนประกอบและฟังก์ชันหลัก react-router-dom ส่งออกส่วนประกอบที่รับรู้ DOM เช่น<Link>(ซึ่งแสดงผล<a>) และ (ซึ่งโต้ตอบกับ window.history ของเบราว์เซอร์)

react-router-domส่งออกการส่งออกของ react-router ทั้งหมดอีกครั้งดังนั้นคุณต้องนำเข้าจากreact-router-domในโครงการของคุณเท่านั้น


แต่คุณต้อง npm ติดตั้งทั้ง react-router และ react-router-dom แยกกันหรือไม่?
joedotnot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.