问题描述
我有Laravel提供的React SPA。 我希望SPA能够转到Laravel也提供服务的某些页面。
更新:
作为一个例子... 在我基于coreui-react的应用程序中。.我想允许用户打开使用vuepress构建的用户手册。我希望能够在全新的页面中打开它,而不要将其捆绑到SPA中。 SPA显示在https://test.local/,用户手册显示在https://test.local/docs
链接到=“ / docs”会使我回到SPA,也链接到=“ // test.local / docs”
我也尝试过将onClick = {()=> window.location = window.location.protocol +“ //” + window.location.hostname +“ / docs”}放在链接中,但是除了那没有其他变化它确实从本地开发服务器(端口3000)中退出。但是,如果它在构建中-那么它仍然会被ReactRouter捕获
有人建议StaticRouter可以这样做-但我看到的所有示例都涉及SPA将消耗的服务器端内容呈现,而不是使您跳到服务器交付的页面。
我有点机智..我目前唯一的想法是将SPA从“ /”移动到“ / app”,而不在SPA内完全不处理“ /”,希望ReactRouter可能会让它通过
这似乎是ReactRouter中的一个长期问题。但是过去,您可以使用
解决方法
如果我理解正确, 您可以使用“历史记录”:
const history = useHistory();
您必须从useHistory
导入react-router-dom
:
import { useHistory } from 'react-router-dom'
然后您可以使用:
history.push('/analytics')