আমার নীচের মতো রাউটার রয়েছে:
<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('/')
}
এখানে সমস্যাটি হ'ল আমি বর্তমান রুটটি পেতে API খুঁজে পাচ্ছি না।
আমি এই বদ্ধ সমস্যাটি রাউটার ব্যবহার করার পরামর্শ দিয়েছি cএকটিভ স্টেট মেশিন এবং রুট হ্যান্ডলারগুলি ব্যবহার করে, তবে দেখে মনে হচ্ছে এই দুটি সমাধান এখন অবচিত হয়ে গেছে।