问题标签 [react-router-v4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
178 浏览

database - 用服务器生成的 id 替换 redux 商店 id 后如何重定向?

我目前正在使用redux-optimistic-ui能够在保存到数据库的同时立即向用户呈现某些内容。

在我的规范化 redux 存储的一部分保存在数据库中并返回一个 id 之前,我会生成一个临时 id,一旦我得到服务器答案就会被替换。

我遇到的问题与路由有关。由于 id 在我的应用程序的路由中大量使用,所以当我生成临时 id 时,它会在我等待服务器应答时在我的 url 中使用。

我认为这样做的方法是对history.replaceState包含新服务器生成的 id 的 url 做一些等效的事情。

我正在使用 react-router v4,但我不确定在哪里做。看来我不能直接从 redux 减速器做到这一点。我是否应该有另一个 UI 减速器来监听SUCCESS动作并存储要重定向的 url?还是有更清洁的方法?

谢谢 !

0 投票
25 回答
874452 浏览

reactjs - 如何在 React Router v4 中推送到历史记录?

在当前版本的 React Router (v3) 中,我可以接受服务器响应并使用browserHistory.push它转到相应的响应页面。但是,这在 v4 中不可用,我不确定处理此问题的适当方法是什么。

在这个例子中,使用 Redux,components/app-product-form.jsthis.props.addProduct(props)在用户提交表单时调用。当服务器返回成功时,用户被带到购物车页面。

如何从 React Router v4 的功能重定向到购物车页面?

0 投票
5 回答
69002 浏览

javascript - 在 react-router v4 中使用 React IndexRoute

我正在通过在线教程学习 React 自己。

所以这是一个关于使用 React Router 的基本示例:

使用我的 App 组件:

但是,我在使用IndexRoute时遇到了问题,因为它什么都没有显示,所以我在npm上搜索react-router-dom v4的模块,里面没有IndexRoute。相反,它使用这个:

那么如何为 1 个路径渲染 2 个组件?

0 投票
1 回答
3215 浏览

javascript - React Router v4 NavLink 活动路由

我正在尝试将我的项目从使用 v3 移植react-router到现在称为 v4 的react-router-dom. 现在,当我有一个与路由逻辑完全分离的 MenuBar 组件时问题出现了(正如您所期望的那样),因为无论当前路径是什么,它都会显示完全相同的链接。现在这在 v3 上运行得很好,但是现在当我使用NavLink具有相同activeClassName属性的 时,活动路由不会在 NavBar 上更新,只会在刷新时更新。这似乎有点愚蠢,所以必须有办法解决这个问题。

以上是我的主要应用程序逻辑,您可以看到路由是嵌套的,但路由器本身包裹着整个组件。

我应该添加什么以使它们再次工作?(它们在页面刷新时确实可以正常工作)

0 投票
2 回答
67264 浏览

javascript - 在 React-Router 中未调用 onEnter

好吧,我受够了尝试。
onEnter方法不起作用。知道为什么吗?

编辑:

该方法在我调用时执行onEnter={requireAuth()},但显然这不是目的,我也不会得到所需的参数。

0 投票
0 回答
903 浏览

reactjs - 重定向不呈现组件

这是问题的后续:
onEnter not called in React-Router

以下代码正确执行重定向,但实际上并未呈现与重定向 url 相关的组件。
下面是我的代码,对上一个问题中给出的代码做了一个小的改编。

重定向后刷新浏览器时,页面正确显示。

我希望渲染能够工作,但它没有......这是错误还是期望的行为?

历史:

0 投票
1 回答
3429 浏览

reactjs - react-router-dom,是否有用于代码拆分的`getComponent`方法?

我试图弄清楚代码拆分如何与webpack2.x和一起使用react-router-dom

"react-router-dom": "^4.0.0"

但是我阅读了文档并没有找到像这样使用的方法:

getComponent还在工作吗?

我发现react-router-dom文档只是给你一些例子,没有解释。

我看到react-router的是v4.0.0-beta.8,也许我应该react-router-dom稍后使用?

0 投票
1 回答
5371 浏览

react-router - 如何在 react-router v4 的根路由上设置可选参数?

假设我有以下两条路线:

现在,当我尝试点击路由时,会触发带有参数/news的根路由...Homeparam1

我认为解决方案是像这样在 param1 之前设置一个问号,/?param1这样它就可以与路由分开,但我不知道如何在 react-router v4 中做到这一点

0 投票
1 回答
2775 浏览

reactjs - 反应路由器 v4 不工作

我有以下用于路由器设置的代码:

但是,我收到以下错误:

0 投票
1 回答
929 浏览

reactjs - 反应路由器4链接到不更新网址栏

按照此处提供的示例https://reacttraining.com/react-router/examples/url-params

我为我的网站构建了自己的路线,如下所示:

这与给出的示例非常相似,只是导航(或链接到)位于页面中的其他位置。

路线本身运行良好。我可以获得匹配信息,我可以成功检查用户是否登录等等。

我唯一的问题是 URL 栏没有改变以反映导航的变化,所以如果我坐在 localhost:3000/cachaca/1234 并单击回家,主页将加载但 URL 栏仍将显示'本地主机:3000/cachaca/1234'。

我从 react router 2/3 看到了与我类似的帖子,这些帖子似乎表明 history 道具是导致此问题的原因 - 但我不相信在 Router 4 中会出现这种情况。

除此之外,react 培训网站中的示例有效,而我的(似乎遵循相同的步骤)没有。

我在这里错过了什么吗?为什么我没有得到与培训网站相同的结果。

这是我正在使用的导航链接:

感谢任何帮助,谢谢!