[英]change url and re-render react router
我嘗試使用 react router 更改 url,如下所示:
const DashBoard = lazy(() => import("./dashboard/DashBoard"));
const ProjectSubmission = lazy(() => import('./projectsubmission/ProjectSubmission'));
const NotFound = lazy(() => import("./notfound/NotFound"));
class App extends Component {
render() {
<div className="App">
<header className="App-header">
<Router history={history}>
<Suspense fallback={}>
<Switch>
<Route path="/dashboard/" render={() => <DashBoard/>}/>
<Route path="/project-submission/" render={() => <ProjectSubmission/>}/>
<Route path="*" render={() => <NotFound/>}/>
</Switch>
</Suspense>
</header>
</div>
}
}
在我的組件中,我的代碼如下:
import React from 'react';
import {connect} from "react-redux";
import {withRouter} from "react-router-dom";
class ProjectSubmission extends React.Component{
constructor(props){
super(props);
this.state = {location: ""}
}
render() {
return(
<div>
<h2>Project Submission</h2>
</div>
)
}
}
export default withRouter(ProjectSubmission);
但是,當我使用History.push
或<Link/>
更改組件時,url 已更改但不會重新呈現,並且將顯示NotFound
Page,我應該刷新頁面,然后將顯示該組件。 我該怎么辦?
我的錯誤是我{Router} from 'react-router-dom'
導入{BrowserRouter as Router} from 'react-router-dom'
我應該{Router} from 'react-router-dom'
導入{BrowserRouter as Router} from 'react-router-dom'
,我認為這是常見的錯誤,希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.