React Router更改路由/组件而不更改浏览器URL

时间:2018-07-26 17:18:04

标签: javascript reactjs react-router

是否可以使用内部路由系统来渲染组件,但主浏览器路由不会改变?

因此,如果您从mysite.com开始,它将呈现一个列表页面,您可以进入实例页面,但URL仍保留在mysite.com,依此类推。如果刷新页面,它将返回列表页面。

1 个答案:

答案 0 :(得分:2)

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

对于react-router版本3,您可以从createMemoryHistory导入history

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

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