Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用React路由器5模拟window.location?_Reactjs_React Router_React Router Dom_React Router V5 - Fatal编程技术网

Reactjs 如何使用React路由器5模拟window.location?

Reactjs 如何使用React路由器5模拟window.location?,reactjs,react-router,react-router-dom,react-router-v5,Reactjs,React Router,React Router Dom,React Router V5,我有一个由Laravel提供的水疗中心。。 我希望SPA能够访问一些同样由Laravel提供服务的页面 更新: 例如。。。 在我的coreui基于react的应用程序中。。我想允许用户打开使用vuepress构建的用户手册。我希望能够在一个全新的页面中打开它,而不是将它捆绑到SPA中。SPA显示在用户手册的 Link to=“/docs”将我弹回到SPA,Link to=“//test.local/docs”也一样 我还尝试将onClick={()=>window.location=window

我有一个由Laravel提供的水疗中心。。 我希望SPA能够访问一些同样由Laravel提供服务的页面

更新:

例如。。。 在我的coreui基于react的应用程序中。。我想允许用户打开使用vuepress构建的用户手册。我希望能够在一个全新的页面中打开它,而不是将它捆绑到SPA中。SPA显示在用户手册的

Link to=“/docs”将我弹回到SPA,Link to=“//test.local/docs”也一样

我还尝试将onClick={()=>window.location=window.location.protocol+“/”+window.location.hostname+“/docs”}放在链接中,但除了从本地开发服务器(端口3000)中退出外,没有任何更改。。但是如果它在一个构建中,那么它仍然会被路由器捕获

有人建议StaticRouter可以做到这一点,但我看到的所有示例都涉及SPA将使用的内容的服务器端呈现,而不是将您弹出到服务器交付的页面

我有点不知所措。。我目前唯一的想法是将SPA从“/”移动到“/app”,而不是在SPA中处理“/”,希望ReactRouter可以让它通过

这似乎是一个长期的问题。。但在过去,如果我理解正确的话,你可以用强行退出, 您可以使用“历史记录”:

您必须从
react router dom
导入
useHistory

import { useHistory } from 'react-router-dom'
然后您可以使用:

history.push('/analytics')
如果我理解正确的话, 您可以使用“历史记录”:

您必须从
react router dom
导入
useHistory

import { useHistory } from 'react-router-dom'
然后您可以使用:

history.push('/analytics')

所以我想我需要构建一个组件来保存它?你必须在你的应用程序中使用路由,你在使用路由吗?SPA和laravel中都有路由。。实际上它看起来像是1。我必须指引“未知”路线到拉威尔(可能是最好的干燥方法..或者处理SPA内从laravel返回的顶级路线..过去可以简单地使用window.location,但这似乎不再起作用。我认为这可能是解决方案,但解决它需要一些思考..可能的方法是对链接执行onClick操作我需要离开SPA,使用var full=window.location.origin+“path”构建url,所以我想我需要构建一个组件来保存这个?你必须在你的应用程序中使用路由,你在使用路由吗?SPA和laravel中都有路由。实际上它看起来像1。我必须将“未知”路由定向到laravel(可能是最好的干燥方法..或者处理SPA内从laravel返回的顶级路线..过去可以简单地使用window.location,但这似乎不再起作用。我认为这可能是解决方案,但解决它需要一些思考..可能的方法是对链接执行onClick操作需要退出SPA并使用var full=window.location.origin+“path”构建url