是否可以创建一个全局历史文件来管理createBrowserHistory() on react router v5?我知道V5将useHistory()作为获取历史的一种方式。但是是否有可能从任何地方检索历史记录,比如在不使用函数组件的情况下?
在V4上,我可以创建一个文件history.js:
import { createBrowserHistory } from 'history';
export default createBrowserHistory();它在V4 https://codesandbox.io/s/react-router-v4-nfwr0上工作。
它在V5上不起作用-它更新了https://codesandbox.io/s/react-router-v5-not-working-jlrep,但是重定向到未找到的https://codesandbox.io/s/react-router-v5-not-working-jlrep
发布于 2020-06-26 09:14:56
正如医生说的那样,你应该使用历史的v4来做反应路由器v5的工作。
https://github.com/ReactTraining/history
版本4的
文档可以在v4分支上找到。Version 4用于React路由器版本4和5.
发布于 2021-02-20 08:09:20
我通过做我所做的this.See来解决这个问题
创建一个像以前一样的文件
这是密码
import {createBrowserHistory} from 'history';
import store from 'store';
export default createBrowserHistory({
basename: store ? store.getState().productionBaseUrl : ''
});我之所以导入Redux,是因为该项目没有在nginx根folder.So上显示--我应该添加一个basename.If --您不需要它,可以删除它。
然后你可以在你自己的交警网上使用它。如何使用?让我给你看看密码。
// if my history in src/router/
import history from 'router/history';
history.push(`${your router address}`)注意
历史的push方法可以传递一个对象,比如在子路由器中总是刷新原始props.But。所以在使用它时传递一个字符串。
https://stackoverflow.com/questions/62591351
复制相似问题