मैं बाहरी स्थिति के आधार पर एक घटक प्रस्तुत करना चाहता हूं, अन्यथा ऐप में कहीं और रीडायरेक्ट करना चाहता हूं।एक प्रतिक्रिया घटक में रीडायरेक्ट करने के लिए उपयुक्त जीवन चक्र चरण क्या है?
आदर्श रूप से यह पुनर्निर्देशन घटक से पहले तय किया जाएगा, लेकिन कुछ मामलों में मुझे लगता है कि मुझे घटक में ऐसा करने की आवश्यकता है। उदाहरण के लिए, ReactRouter में, रूटर इस प्रकार दिखाई देंगे:
<Router>
<Route path='/' component={LoadingPage} />
<Route path='/Home' component={HomePage} />
<Route path='/Login' component={LoginPage} />
</Router>
और LoadingPage के लिए तर्क/sudocode कुछ इस तरह जाना होगा:,
if (stillLoading) {
render
} else if (loggedIn) {
redirectToHome
} else {
redirectToLogin
}
यह जटिल हो जाता है क्योंकि कभी-कभी अनुप्रयोग है घटक से पहले ही लोड हो चुका है।
इस पुनर्निर्देशन तर्क को रखने के लिए कौन सा जीवन चक्र चरण सबसे उपयुक्त स्थान है?
- रेंडर से रेंडर/विधि कहा जाता है? (अजीब लगता है)
- घटक DidMount + बाद में एक ईवेंट श्रोता बनाएं?
- GetInitialState? (लेकिन साइड इफेक्ट्स नहीं होना चाहिए?)
- घटक WillMount?
- अन्य?
रिएक्ट राउटर दस्तावेज़ों में 'ऑन एंटर' देखें, और रेपो – knowbody
@knowbody में ऑथ-फ्लो उदाहरण - कमाल! यही वही है जो मैं ढूंढ रहा हूं। तो जवाब वास्तव में शून्य था - घटक से पहले पुनर्निर्देशन भी शुरू किया गया है – eedrah