首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在React路由器v5中推动历史?

如何在React路由器v5中推动历史?
EN

Stack Overflow用户
提问于 2020-06-26 08:58:08
回答 2查看 6.8K关注 0票数 4

是否可以创建一个全局历史文件来管理createBrowserHistory() on react router v5?我知道V5将useHistory()作为获取历史的一种方式。但是是否有可能从任何地方检索历史记录,比如在不使用函数组件的情况下?

在V4上,我可以创建一个文件history.js:

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-26 09:14:56

正如医生说的那样,你应该使用历史的v4来做反应路由器v5的工作。

https://github.com/ReactTraining/history

版本4的

文档可以在v4分支上找到。Version 4用于React路由器版本4和5.

票数 8
EN

Stack Overflow用户

发布于 2021-02-20 08:09:20

我通过做我所做的this.See来解决这个问题

创建一个像以前一样的文件

这是密码

代码语言:javascript
复制
import {createBrowserHistory}  from 'history';
import store from 'store';
export default createBrowserHistory({
    basename:  store ? store.getState().productionBaseUrl : ''
});

我之所以导入Redux,是因为该项目没有在nginx根folder.So上显示--我应该添加一个basename.If --您不需要它,可以删除它。

然后你可以在你自己的交警网上使用它。如何使用?让我给你看看密码。

代码语言:javascript
复制
// if my history in src/router/
import history from 'router/history';

history.push(`${your router address}`)

注意

历史的push方法可以传递一个对象,比如在子路由器中总是刷新原始props.But。所以在使用它时传递一个字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62591351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档