2017-02-24 14 views
5

का उपयोग कर "प्रतिक्रिया रूटर": "^ 3.0.2",कैसे पेज पुनः लोड करने पर प्रतिक्रिया रूटर रीसेट करने के लिए

जब मैं एक पृष्ठ पुनः लोड मैं इसकी आवश्यकता डिफ़ॉल्ट दृश्य है, जो यह वर्तमान में है पर जाने के लिए करते हैं करते हुए। हालांकि, इतिहास में मौजूद वास्तविक मार्ग अभी भी वही है जहां से मैंने रीफ्रेश किया था। तो जब घटक नहीं होना चाहिए तो घटक पुन: गणना कर रहा है।

मार्ग इतिहास

export const browserHistory = useRouterHistory(useBeforeUnload(createHistory))() 

मार्गों

<Router history={browserHistory}> 
    <Route path='/' name='Auth' component={Auth}> 
     <IndexRoute 
     component={Dashboard} 
     onEnter={(nextState, replace) => replace('/login')} /> 
     <Route path='dashboard' name='Dashboard' component={Dashboard} /> 
     <Route path='resources' name='Resources' component={Resources} /> 
     <Route path='users' name='Users' component={UsersContainer} /> 
     <Route path='user/:params' name='User' component={UserContainer} /> 
    </Route> 
    <Route path='/' name='NoAuth' component={NoAuth}> 
     <Route path='login' name='Login Page' component={Login} /> 
    </Route> 
    </Router> 

यह मैं कैसे उपयोगकर्ता अभी भी एक वैध सत्र टोकन है यह देखने हेतु जांचने, और कैसे मैं डैशबोर्ड पर कहीं और भेजें है। यकीन नहीं है कि मैं यह सबसे अच्छा तरीका कर रहा हूँ।

const _checkAuth =() => { 
    if (profile) { 
    const res = JSON.parse(profile) 
    store.dispatch({ type: types.LOGIN_IDENTITY_SUCCESS, res }) 
    console.log(browserHistory.getCurrentLocation().pathname) 
    router.replace('/dashboard') 
    } 
} 

_checkAuth() 

उत्तर

3

यदि आप एक नया मार्ग प्रतिक्रिया रूटर के साथ ढेर पर एक और मार्ग पुश करने के लिए .push विधि का उपयोग कर सकते हैं पर पुश करने के लिए चाहते हैं, यह इतिहास में पहली मार्ग को नहीं निकाला जाएगा कि अगर आप क्या की तलाश में हैं, लेकिन इसे सही ढंग से browserHistory.push('/dashboard')

के साथ प्रतिक्रिया रूटर में नया मार्ग

const _checkAuth =() => { 
    if (profile) { 
    const res = JSON.parse(profile) 
    store.dispatch({ type: types.LOGIN_IDENTITY_SUCCESS, res }) 
    console.log(browserHistory.getCurrentLocation().pathname) 
    browserHistory.push('/dashboard'); 
    } 
} 

_checkAuth() 

बस router.replace('/dashboard') की जगह धक्का होगा

संबंधित मुद्दे