मैं नीचे की तरह एक रूटर है:प्रतिक्रिया रूटर 2.0.0-RC5 में मौजूदा मार्ग प्राप्त करने के लिए कैसे
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
यहाँ मैं क्या हासिल करना चाहते: /login
को
- पुनर्निर्देशन उपयोगकर्ता नहीं तो
- में लॉग इन उपयोगकर्ता
/login
तक पहुँचने के लिए जब वे पहले से लॉग इन कर रहे हैं की कोशिश की है, उन्हें जड़ को अनुप्रेषित/
तो अब मैं App
के componentDidMount
में उपयोगकर्ता की स्थिति जांचने के लिए कोशिश कर रहा हूँ, तो कुछ ऐसे कार्य करें:
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
समस्या यहाँ मैं वर्तमान मार्ग पाने के लिए एपीआई नहीं मिल सकता है।
मुझे this closed issue राउटर.एक्टिवस्टेट मिश्रण और मार्ग हैंडलर का उपयोग करने का सुझाव मिला, लेकिन ऐसा लगता है कि इन दो समाधानों को अब हटा दिया गया है।
यह कुछ बच्चे घटकों में उपलब्ध नहीं है के लिए और अधिक का वर्णन करता है, लेकिन मैं प्रोप के माध्यम से उन्हें पारित करने के लिए कामयाब रहे। –
मेरे लिए (v2.8.1), यह 'this.state.location.pathname' (प्रोप के बजाय) के माध्यम से उपलब्ध था। –
आप 'स्थिर contextTypes = अपने घटक में जोड़ने के लिए सुनिश्चित करने की आवश्यकता { रूटर: React.PropTypes.object }' –