Приведенный ниже код изменяет URL-адрес в строке поиска, но не перенаправляет и не отображает страницу автоматически.Для того, чтобы перейти на каждую страницу, я должен перейти непосредственно по ссылке, введя URL.Какие изменения мне нужно внести в структуру компонентов моего реагирующего маршрутизатора, чтобы перенаправление и рендеринг работали?Приветствуются любые предложения.
Приложение:
class App extends React.Component {
render () {
return (
<div>
<Nav/>
<Router/>
<Footer/>
</div>
);
};
};
export default withRouter(connect(null, actions)(App));
Маршрутизатор:
class Router extends React.Component {
render () {
return (
<div>
<Switch>
<Route exact path="/" component={Login}/>
<Route path="/about" component={About}/>
<Route path="/competitionsubmissions" component={CompetitionSubmissionApp} onEnter={requireLogin}/>
<Route path="/competition" component={CompetitionApp}/>
<Route path="/account" component={Account}/>
<Route path="/account/favorites" component={FavoritesApp} onEnter={requireLogin}/>
<Route path="/confirmation" component={ConfirmationApp} onEnter={requireLogin}/>
<Route path="/payment" component={PaymentApp} onEnter={requireLogin}/>
<Route path="/artfeedpostings" component={ArtFeedApp}/>
<Route path="/postings" component={PostingsApp}/>
<Route path="/chatMessages" component={ChatApp} onEnter={requireLogin}/>
<Route path="/accountsettings" component={AccountSettings} onEnter={requireLogin}/>
</Switch>
</div>
)
}
}
function mapStateToProps({ auth }) {
return { auth };
}
export default connect(mapStateToProps)(Router);
Src Index.js:
ReactDOM.render(
<Provider store={store}>
<BrowserRouter>
<App/>
</BrowserRouter>
</Provider>,
document.getElementById('app')
);
export default connect(
(state) => {
return state;
}
)();
Nav:
class Nav extends React.Component {
return (
<div className="top-bar">
<div className="top-bar-left">
<ul className="menu">
<li className="menu-text">Art App</li>
<li>
<Link to="/postings">Get Postings</Link>
</li>
<li>
<Link to="/artfeedpostings">Art Feed</Link>
</li>
<li>
<Link to="/competition">Competition Page</Link>
</li>
</ul>
</div>
<div className="top-bar-center">
<ul className="menu">
<li className="text-center">
{userName}
</li>
</ul>
</div>
<div className="top-bar-right">
<ul className="menu">
{this.loggedIn()}
</ul>
</div>
</div>
);
}
};
function mapStateToProps({ auth }) {
return { auth };
}
export default withRouter(connect(mapStateToProps, actions)(Nav));