我有一个使用React和React Router的Web应用程序。在应用程序中,我可以轻松地使用History
对象进行导航。
但是我注意到,如果在控制台中(或从测试中)我尝试使用window.history.pushState(..)
进行导航,那么什么也不会发生!
如何使react-router尊重实际的history
对象而不是它们自己的包装器?
我尝试将pushState
的呼叫从window.history
转发到内部History
,但总是以无限循环结束。
答案 0 :(得分:0)
我不知道如何正确执行此操作。 :(
我正在使用此黑客进行变通:
import { createBrowserHistory, History } from 'history';
declare global {
interface Window {
reactHistory: History;
}
}
window.reactHistory = createBrowserHistory({...});
然后从测试中我叫reactHistory.replace(<path here>)
。