【发布时间】:2018-11-04 17:12:32
【问题描述】:
我的反应组件如下所示:
class App extends React.Component {
render() {
debugger;
if(!this.props.isUserExist) {
return (
<div>
<Route exact path="/" component={DashboardPage} />
</div>
);
}
return (
<div>
<Switch>
<Route exact path="/" component={HomePage} />
<Route exact path="/list" component={ListPage} />
<Route component={NotFoundPage} />
</Switch>
</div>
);
}
}
我的问题是:有没有更好的方法来使用 react router v4 检查这些条件?这是检查这些条件的最佳方法吗?这是最佳做法吗? 请有人帮我解决这个问题!
【问题讨论】:
-
感谢@johnsam,如果我想将路由发送到不同的组件怎么办。例如,当用户存在
和当用户不存在 ? -
快乐编码:D
-
@johnsam,希望你明白这个问题吗?
-
大雁。在您的示例中,您可以只在您的情况下使用三元条件。
<Route exact path="/" component={this.props.isUserExist ? DashboardPage : HomePage} />。您的案例不在交换机内,并且不会遵循登录用户的未找到页面的后备规则。对于更复杂的场景,请查看下面的答案。
标签: javascript reactjs redux react-router react-redux