ily*_*lyo 12 browser-history reactjs react-router redux react-router-v4
切换到路由器v4和历史v4.5.1,现在历史监听器无法正常工作
import createBrowserHistory from 'history/createBrowserHistory'
const history = createBrowserHistory()
history.listen((location, action) => {
console.log(action, location.pathname, location.state) // <=== Never happens
})
render(
<Provider store={store}>
<Router history={history}>
...
</Router>
</Provider>,
document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)
有什么想法被忽略的想法?
由于您使用的是BrowserRouter(在问题的评论中提到了导入别名路由器),因此它并不关心您传入的历史记录.而是在内部创建并为路由器分配新的浏览器历史记录.因此,您在路由器中侦听和使用的历史实例并不相同.这就是你的听众无法工作的原因.
导入原始路由器.
import { Router } from 'react-router-dom';
Run Code Online (Sandbox Code Playgroud)
它会像你期望的那样工作.
| 归档时间: |
|
| 查看次数: |
4148 次 |
| 最近记录: |