- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近对我的代码进行了更改,以在我的 React-Router 中使用 browserHistory
而不是 hashHistory
。尽管我工作的网站的某些用户可能已将带有哈希的 URL 添加为书签。
旧 url 看起来像 www.mywebsite.com/#/page?query=param
我想确保如果有人将它添加为书签,它会被重定向到 www.mywebsite。 com/page?query=param
.
看起来这种重定向对于 .htaccess
是不可能的,所以我想知道最干净的方法是什么?
谢谢。
最佳答案
在您的主要组件中,您大概渲染了一个 {this.props.children}
您可以通过调用 this.props.location.pathname
访问当前 url如果 url 包含哈希,您可以将其剥离并将用户重定向到他们想要访问的 url。
这仅在用户首次从其他任何地方返回您的网站时有效,但如果他们已经在您的网站上并使用书签转到网站上的其他地方,我认为这不会有效。原因是主组件的 componentDidMount 仅在初始加载或实际页面刷新时触发。
希望这对您有所帮助。
关于javascript - React-Router:将我的 url 从 hashHistory 重定向到 browserHistory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43259510/
我正在尝试测试使用 react-router 的 browserHistory 的 React 组件。为了确保能够访问 browserHistory,我使用了 createMemoryHistory
我已经用这个(react-router 2.0)在路由器上设置了 browserHistory: import { browserHistory } from 'react-router' funct
我正在使用reactjs构建一个应用程序,在某些时候我有一个SearchForm,然后我单击其中一个项目,在该 View 中我有一个后退按钮。 我想要的是用以前的数据填充搜索表单。我已经通过 java
因此,在这种情况下,我倾向于强制导航到某个地方: 资源页面有删除资源的按钮。我想仅在资源被删除后导航到其他地方,但如果删除失败,我不想导航。这需要能够说“进行删除调用,等待完成,检查发生了什么,相应地
我正在实现 React Router,以便在单击任何表行(每一行都是用户/客户)时从搜索结果表链接到单独的配置文件组件。尝试使用 Link 格式化表格是一场噩梦,所以我在每个表格行的 onClick
目前我的 URL 结构仍然以散列语法存储历史。 例如:http://localhost:3000/#/work?_k=otstr8 我试图让它使用来自 react-router 的 browserHi
我在测试异步 redux 操作(使用 thunk)时遇到问题,该操作会引发错误,因为 browserHistory 未定义。 (为简洁起见修改了代码) actions.js import { brow
使用 browserHistory 时从 React Router 4 以编程方式导航到 anchor : import { withRouter } from 'react-router-dom'
我对 React 比较陌生;如果这是一个非常幼稚的问题,我深表歉意。 browserHistory有哪些技术优势?使其优于 hashHistory ?例如,使用 History API 是否有重大的性
作为用户,我想通过直接访问深层网址来访问内容 情况 在主页上,我有一个指向“关于”页面的链接。单击内容更改按预期方式。 页面被加载并且 url 更改为 localhost:8080/about。 如果
我正在尝试导入 browserHistory,但出现类似这样的错误。 ./src/App.js Attempted import error: 'browserHistory' is not e
我正在尝试导入 browserHistory,但出现类似这样的错误。 ./src/App.js Attempted import error: 'browserHistory' is not e
所以我尝试在 React 中使用 history,但它似乎移动了很多。我发现了这个: https://github.com/ReactTraining/react-router/blob/ab4552
我是 React 的新手,刚开始学习路由的工作原理。 hashHistory (/#/paths/like/this) 效果很好,但是 browserHistory (/paths/like/this
尝试使用 browserHistory.push 方法以编程方式更改我的路线。 它会改变路线(根据浏览器地址栏)但不会更新 View 。 这是我的代码 应用程序.jsx const AppStart
每当我在本地使用 browserHistory 时,我都没有问题,但是当我在发布它之前对其进行测试时,我得到一个包含错误的空白页面。因此,当我用 hashHistory 替换 browserHisto
我有一个 react 应用程序在 dropwizard 服务器上运行。 bundle.js 在/ui 上提供。当我打开/ui 上的 url 并导航应用程序(和转到/ui/content)时,它工作正常
我怎样才能不监听该路由?我的函数“执行”一直在运行,我点击链接 const unlisten = browserHistory.listen(unlis); 函数handleUrl(位置) { con
可以使用 作为 在新标签页中打开链接。但是可以使用 browserHistory.push 吗?在新标签页中打开链接? 最佳答案 React-router 是建立在浏览器 History API 之
我正在用 Electron 创建我的第一个 React 应用程序(也是我的第一个 Electron 应用程序)。我有两条路线,需要从一条路线导航到另一条路线。为此,我使用以下代码: 根 ReactDO
我是一名优秀的程序员,十分优秀!