下圖為官方文件中,BrowserRouter->forceRefresh屬性的解釋,但是將forceRefresh設定為false,頁面還是刷新了,無法透過react-redux共享之前的狀態了,將BrowserRouter更換為HashRouter就是ok的,尋求解答?
#找到答案了,是我對這個東西理解的問題!
我以為只要修改window.history就可以直接改變React的渲染,事實上不是這樣的,react-router有自己的history,需要透過它自己的history來操作;直接修改window .history並不會導致react重新渲染,而是直接刷新了頁面(配置了HTML5 History 模式導致的假象);
forceRefresh為false只能保證頁面不是整體刷新的