रिएक्ट-राउटर: IndexRoute का उद्देश्य क्या है?


102

मुझे समझ नहीं आ रहा है कि IndexRoute और IndexLink का उपयोग करने का उद्देश्य क्या है । ऐसा लगता है कि किसी भी मामले में नीचे दिए गए कोड को पहले होम कंपोनेंट चुना जाएगा जब तक कि अबाउट पाथ एक्टिवेट नहीं हो जाता।

<Route path="/" component={App}>
  <IndexRoute component={Home}/>
  <Route path="about" component={About}/>
</Route>

बनाम

<Route path="/" component={App}>
  <Route path="home" component={Home}/>
  <Route path="about" component={About}/>
</Route>

पहले मामले में यहाँ क्या लाभ / उद्देश्य है?


Homeजब तक रास्ता नहीं था, पहले उदाहरण में क्यों चुना जाएगा /home? डॉक्स में स्पष्टीकरण की जाँच करें: github.com/rackt/react-router/blob/master/docs/guides/basics/…
मिशेल टायली

आप कल्पना कर सकते हैं कि मुख्य एक नेविगेशन बार है और यह होम और अबाउट मुख्य पृष्ठ है जिसे आप नेविगेशन बार पर क्लिक कर सकते हैं।
Nick Pineda

2
शीर्ष उदाहरण में, एक बच्चे के रूप में पारित होने के साथ /प्रस्तुत करना होगा । नीचे उदाहरण में, करने के लिए जा प्रस्तुत करना होगा साथ या गाया जा रहा है, के बाद से उनके रास्ते में से कोई भी मेल खाते हैं। AppHome/App HomeAbout
मिशेल टाइली

2
ओह !!! क्या आप इसे एक जवाब के रूप में रख सकते हैं ताकि मैं आपको क्रेडिट दे सकूं? धन्यवाद!
निक पिनेडा

3
V1.0 करने के लिए v0.13 से परिवर्तन में वे से नाम बदल दिया है DefaultRouteकरने के लिए IndexRoute। मुझे लगता है कि 'डिफ़ॉल्ट' उद्देश्य का बेहतर वर्णन करता है। github.com/rackt/react-router/blob/master/…
क्लार्की

जवाबों:


101

शीर्ष उदाहरण में, एक बच्चे के रूप में पारित होने के साथ /प्रस्तुत करना होगा । नीचे के उदाहरण में, न तो और ही रेंडर के साथ प्रस्तुत किया जाएगा , क्योंकि दोनों में से कोई भी मार्ग मैच नहीं करता है।AppHome/App HomeAbout

रिएक्ट राउटर के पुराने संस्करणों के लिए, संबंधित संस्करण के इंडेक्स रूट्स और इंडेक्स लिंक पेज पर अधिक जानकारी उपलब्ध है । संस्करण 4.0 में शुरू, प्रतिक्रिया रूटर अब IndexRouteएक ही लक्ष्य को प्राप्त करने के लिए अमूर्त का उपयोग नहीं करता है ।


3
तो क्या हम व्यवहार में इस सुविधा का उपयोग कर सकते हैं?
सीज़नकवी

1
उदाहरण के लिए, हम एक मूल कंटेनर, कई बाल मार्ग बना सकते हैं, और इनमें से एक बाल मार्ग को डिफ़ॉल्ट (IndexRoute) के रूप में सेट कर सकते हैं। या, अगर हमें एक डिफ़ॉल्ट बाल मार्ग की आवश्यकता नहीं है, और उपयोगकर्ता को संकेत देने की आवश्यकता है कि वह कुछ चुनना है (कोई IndexRoute नहीं तो)
ओल्गा

1
@ AlexHopeO'Connor धन्यवाद, मैंने उत्तर की दूसरी छमाही को अपडेट किया है
मिशेल टायली

एक बच्चे के रूप में पारित क्या मतलब है? पृष्ठभूमि पर लोड हो रहा है? सहारा तक पहुँचने में सक्षम किया जा रहा है? अन्य?
स्टेलिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.