Javascript 在2个react-router-v4项目之间导航
我在同一台服务器上安装了两个不同的ReactJS项目。它们位于不同的目录和结构中:Javascript 在2个react-router-v4项目之间导航,javascript,reactjs,nginx,react-router,react-router-v4,Javascript,Reactjs,Nginx,React Router,React Router V4,我在同一台服务器上安装了两个不同的ReactJS项目。它们位于不同的目录和结构中: /var/www/myapps/app1 -> My 1st application /var/www/myapps/app2 -> My 2nd application 我使用nginx作为web服务器 两个应用程序具有相同的react路由器结构: <BrowserRouter basename={baseName}> <Switch> <Ro
/var/www/myapps/app1 -> My 1st application
/var/www/myapps/app2 -> My 2nd application
我使用nginx作为web服务器
两个应用程序具有相同的react路由器结构:
<BrowserRouter basename={baseName}>
<Switch>
<Route exact path="/logout" component={Logout} />
<Route exact path="/auth" component={Logout} />
<Route exact path="/" component={NavComponent} />
<Route exact path="/:screen" component={NavComponent} />
<Route
exact
path="/:screen/:action"
component={NavComponent}
/>
<Route
exact
path="/:screen/:action/:id"
component={NavComponent}
/>
<Route component={PageNotFoundError} />
</Switch>
</BrowserRouter>
其中,baseName
更改为app1
(第一个应用程序)或app2
(第二个应用程序)
这两个应用程序都有使用react-router-v4
withRouter()
包装函数导航的组件。这些组件使用:
this.props.history.push(“/which”)
或this.props.history.push(0)
或this.props.history.push(-1)
我还使用windows.location=“/app1/whatever”
或window.location=“app2/whatever”
我遇到的一个奇怪的错误是在按下一个按钮后从一个应用程序切换到另一个应用程序。按顺序:
app1
并使用各种功能在其中导航-一切正常app2
(此按钮使用windows.location
功能)-一切正常this.props.history.push(“/which”)
在app2
内部导航-一切正常app2
屏幕的刷新按钮(使用this.props.history.go(0)
)-中断,尝试加载单击的链接,但在旧的应用程序上下文中似乎在
window.location
之后,路由器历史记录会变得混乱,甚至加载新路由器。为什么不使用window.location.reload()
刷新页面?这是否意味着我们也可以使用浏览器上的“重新加载”按钮?