I would like to make use of react-router's onEnter
handler in order to prompt users to authenticate when entering a restricted route.
So far my routes.js
file looks something like this:
import React from 'react';
import { Route, IndexRoute } from 'react-router';
export default (
<Route path=/ component={App}>
<IndexRoute component={Landing} />
<Route path=learn component={Learn} />
<Route path=about component={About} />
<Route path=downloads component={Downloads} onEnter={requireAuth} />
</Route>
)
Ideally, I'd like my requireAuth
function to be a redux action that has access to the store and current state, that works like this: store.dispatch(requireAuth())
.
Unfortunately I don't have access to the store in this file. I don't think I can use really use connect
in this case to access the relevant actions that I want. I also can't just import store
from the file where the store is created, as this is undefined when the app first loads.