私はあなたがルーターデザインに反応を見ることができるものから、あなたはコンポーネント自体でルートを指定し、ダイナミックに行うためwithRouterを利用することができ、その場合において反応ルータバージョン4
を使用しているように見えます
return (<div>
<Router>
<div>
<Route path='/login' component={LoginPage}/>
<EnsureLoggedInContainer/>
</div>
</Router>
</div>
);
と
import React from 'react';
import { connect } from "react-redux";
import {withRouter} from "react-router";
class EnsureLoggedInContainer extends React.Component
{
componentDidMount() {
if (!this.props.isLoggedIn)
{
this.props.history.push('/login');
}
}
render() {
// console.log(this.props);
if (this.props.isLoggedIn)
{
return <Route path='/abc' component={abc} />
}
else
{
return null;
}
}
}
const mapStateToProps = (state,ownProps) => {
return{
isLoggedIn : state.isLoggedIn,
// currentURL : this.props
}
}
export default connect(mapStateToProps)(withRouter(EnsureLoggedInContainer));
私はEnsureLoggedInContainer' '内部に複数のルートを持っているようにリダイレクトします。それから複数のルートを返すことはできますか? – learner
はい、あなたはdiv内でそれらを包むことができます –
これはあなたのために私に教えてください –