【发布时间】:2018-12-15 20:03:01
【问题描述】:
我在下面的代码更改了搜索栏中的 URL,但不会自动重定向和呈现页面。为了导航到每个页面,我必须通过输入 URL 直接进入链接。我需要对我的 react 路由器组件的结构进行哪些更改才能使重定向和渲染正常工作?欢迎提出任何建议。
应用:
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);
源索引.js:
ReactDOM.render(
<Provider store={store}>
<BrowserRouter>
<App/>
</BrowserRouter>
</Provider>,
document.getElementById('app')
);
export default connect(
(state) => {
return state;
}
)();
导航:
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));
【问题讨论】:
标签: reactjs react-router react-router-v4 react-router-dom