如何解决在使用BrowserRouter时如何在非组件文件中访问“历史”对象?
我正在使用react钩子和redux。我已经用App
包装了BrowserRouter
组件:
ReactDOM.render(
<React.StrictMode>
<Provider store={store}>
<BrowserRouter>
<App />
</BrowserRouter>
</Provider>
</React.StrictMode>,document.getElementById('root')
);
在App
组件中,我正在使用useHistory
钩子来获取history
对象:
const history = useHistory();
useEffect(()=>{
history.listen((location,action) => {
// clear alert on location change
dispatch(alertActions.clear());
});
但是我想访问我用于登录的动作创建者文件中的history
对象,以便登录后可以执行此操作:
history.push('/');
我该如何实现?我必须使用Router
而不是BrowserRouter
吗?
编辑:
我必须使用Router
而不是BrowserRouter
,并且它现在可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。