【发布时间】:2016-09-16 21:08:52
【问题描述】:
在我的 react 应用程序中,我有一个组件 currentUserMixin 用于管理用户登录。
我希望我的LoginComponent(显示登录表单)在用户已经登录时不可见。
看了How to restrict access to routes in react-router?这里之后,我在currentUserMixin创建了这个组件:
NeedsUnAuthenticatedUser: {
statics: {
willTransitionTo: function(transition) {
if(this.authenticated()) {
transition.abort();
}
}
}
}
我现在的问题是我不知道在哪里添加这个组件。
我是否应该像这样将它添加到主应用程序组件中:
export default class App extends Component {
mixins: [currentUserMixin.NeedsUnAuthenticatedUser]
还有这个:
<Route path="auth" component={AuthIndex}>
<Route path="login" component={LoginComponent} onEnter={willTransitionTo} />
<Route path="register" component={RegisterComponent} />
</Route>
或者我应该像这样把它放在实际的登录组件中:
export default class LoginComponent extends Component {
mixins: [currentUserMixin.NeedsUnAuthenticatedUser]
那么我应该把这个 mixin 放在哪里呢?
【问题讨论】:
标签: javascript reactjs react-router