如何授权与redux做出反应的路线?

时间:2017-09-18 12:41:58

标签: javascript reactjs redux react-router

在这里,我希望只有登录用户才能打开配置文件路由。最好的方法是什么?

main.js

let store = createStore(todoApp, applyMiddleware(thunkMiddleware));

render(
    <Provider store={store}>
        <Router  history={browserHistory}>
            <div className="container">
                <Route exact path="/" component={Login}/>
                    <Route path="/profile" component={Profile} />
            </div>
        </Router>
    </Provider>,
    document.getElementById('root')
)

1 个答案:

答案 0 :(得分:0)

你可以这样做:

<Route path="/profile" component={RequiresAuth(Profile)} />

并创建一个身份验证功能,如:

function RequiresAuth(ComposedComponent) {
    class Authenticate extends Component {

        render() {
            if (!userAuthenticated) {      // Check if user is authenticated
                return null;
            } else {
                return (
                    <ComposedComponent {...this.props} />
                );
            }
        }
    }
}