我需要在 不更改URL的情况下 进行路由。
在自己实现此功能之前,我尝试过通过React Router寻找一些东西。我看到有这样一个东西 createMemoryHistory :
createMemoryHistory
createMemoryHistory([options]) createMemoryHistory创建一个不与浏览器URL交互的内存历史对象。当您需要自定义用于服务器端呈现,自动测试的历史记录对象或不想操纵浏览器URL(例如,将应用程序嵌入到iframe中)时,这很有用。
createMemoryHistory([options])
createMemoryHistory创建一个不与浏览器URL交互的内存历史对象。当您需要自定义用于服务器端呈现,自动测试的历史记录对象或不想操纵浏览器URL(例如,将应用程序嵌入到iframe中)时,这很有用。
但是在本段之后,没有任何用法示例,并且我在任何地方都找不到用法,例如:如何使用Link组件在没有路径名的情况下进行导航,如果不是路径名,则通过该参数进行路由,等等。
Link
这是否满足我的需求,还是我必须自己实现路由器?
MemoryHistory是一个“历史记录提供者”,您可以像这样将其提供给React Router:
const memoryHistory = createMemoryHistory(options); // In your Router configuration <Router history={memoryHistory} routes={routes} />
除了初始配置之外,其他所有功能都应与常规浏览器历史记录完全相同。
本文介绍了如何在React Router中使用不同的提供程序:历史