是否可以创建一个全局历史文件来管理react-router-dom v5上的createBrowser历史()?我知道V5有使用历史()作为获取历史的一种方式。但是有没有可能从任何地方检索历史记录,比如我没有使用函数组件的情况?
在V4上,我可以创建一个文件history.js:
import { createBrowserHistory } from 'history';
export default createBrowserHistory();
它在V4上工作https://codesandbox.io/s/react-router-v4-nfwr0
它在V5上不工作-它更新URL,但重定向到“未找到”https://codesandbox.io/s/react-router-v5-not-working-jlrep
我这样做就解决了这个问题。看看我做了什么
这是密码
import {createBrowserHistory} from 'history';
import store from 'store';
export default createBrowserHistory({
basename: store ? store.getState().productionBaseUrl : ''
});
我导入Redux的原因是项目在nginx根文件夹上没有脉冲。所以我应该添加一个basename。如果你不需要它,你可以删除它。
然后你可以在自己的网络中使用它。如何使用?让我给你看看代码。
// if my history in src/router/
import history from 'router/history';
history.push(`${your router address}`)
历史的push方法可以传递一个对象,比如originprops。但是它总是在子路由器中刷新。所以在使用时传递一个字符串。
正如医生所说,你应该使用v4的历史工作的反应路由器v5。
https://github.com/ReactTraining/history
版本4的文档可以在v4分支上找到。版本4用于React路由器版本4和5。
我在想这样的事情: 前台有一个不同的布局和风格与管理区域。所以在frontpage中的路由是home、about等等,其中一个应该是子路由。 /home应该呈现到Frontpage组件中,而/admin/home应该呈现在后端组件中。 最终解决方案: 这是我现在使用的最终解决方案。这个例子也像传统的404页面一样有一个全局错误组件。
问题内容: 在当前版本的React Router(v3)中,我可以接受服务器响应并用于转到相应的响应页面。但是,这在v4中不可用,我不确定哪种适当的处理方式。 在此示例中,使用Redux,当用户提交表单时, components / app-product-form.js 调用。服务器返回成功后,该用户将被带到“购物车”页面。 如何从React Router v4的功能重定向到购物车页面? 问题答
我在从React路由器v3迁移到v4时遇到了一些小问题。在v3中,我可以在任何地方执行此操作: 如何在v4中实现这一点。 我知道,当您在组件中时,我可以使用hoc、react context或event router道具。但我不是这样。 我正在寻找v4中组件的外部导航的等价性
我有一个路由器像下面: 以下是我想要实现的目标: 如果未登录,将用户重定向到 如果用户在登录后试图访问,请将其重定向到root 因此,现在我尝试在
问题内容: 我目前正在使用React Router v4来嵌套路由。 最接近的示例是React-Router v4文档中的route配置 。 我想将我的应用分为2个不同的部分。 前端和管理区域。 我在想这样的事情: 前端的布局和样式与管理区域不同。因此,在首页中,回家的路线大约应该是子路线。 / home 应该呈现在Frontpage组件中, / admin / home 应该呈现在Backend
假设在route 中给了我一个< code>item-list数组。item-list.component.html看起来像这样: 我试图做的是将对象从数组推送到下一页(或路由) 目前,我有它的方式建立与2资源 我意识到有一个不必要的API调用 我将如何处理这个问题? 注意:在Ionic3中可以这样做:< code>navCtrl.push('ItemPage ',{ item:item });