首页 > 解决方案 > React Router 更改路由/组件而不更改浏览器 URL

问题描述

是否可以有一个内部路由系统以便组件呈现,但主浏览器路由不会改变?

所以如果你从mysite.com它开始渲染一个列表页面,你可以进入一个实例页面,但是 url 仍然是mysite.com,等等。如果刷新页面,它将返回列表页面。

标签: javascriptreactjsreact-router

解决方案


您可以使用MemoryRouter代替Router。有关示例和文档,请参阅https://reacttraining.com/react-router/web/api/MemoryRouter

对于 react-router 版本 3,您可以createMemoryHistoryhistory

const memoryHistory = createMemoryHistory(location);
<Router history={memoryHistory} routes={routes} />

第 3 版文档:https ://github.com/ReactTraining/react-router/blob/v3/docs/guides/Histories.md#creatememoryhistory


推荐阅读