问题标签 [react-router]

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 回答
130 浏览

javascript - DefaultRouter 组件中的嵌套路由

我正在玩我的网络应用程序和react-router包,我想做一些嵌套路由。这是我所做的

由于 DefaultRoute,此示例不起作用。当我将其更改为普通 Route 组件时,一切正常。我找不到 DefaultRoute 有一些孩子的例子。DefaultRoute 可以有嵌套路由吗?如果是,那么我做错了什么?

0 投票
1 回答
2419 浏览

javascript - React、Flux、React-Router 调度错误 - 可能的批处理更新解决方案?

好吧,所以我遇到了 reactjs、flux architecture 和 react-router 的问题。我有以下路线(只是部分路线):

Senior Profile 视图调用 API 来加载个人数据。当您导航到 Recommends 视图时,个人的 ID 用于进行另一个调用以加载推荐。如果我实际上首先查看个人资料页面并导航到推荐页面,它会非常有用。但是,如果我进行硬重新加载,我会得到:

我意识到这是因为在第一个 API 返回之后调用了调度,它出去并开始更新组件。在它完成之前,推荐页面调用它的 API 并尝试分发它的结果。我在一个论坛上读到 React.addons.batchUpdates 是解决这个问题的一种方法,但我不知道如何让它工作。GitHub 批量更新问题和此处的另一个链接讨论了类似的尝试使用 waitFor。第一个建议通过添加以下内容来调整调度程序:

但我无法完成这项工作。也许我只是不正确地实施它。

我已经阅读了 Chat 和 TodoMVC 示例。我了解在聊天示例中如何使用 waitFor ......但是它们都使用相同的 API,因此很明显一个会等待另一个。我的问题涉及 API 和调度之间的竞争条件......我不认为 setTimeout 是一个好的解决方案。

我需要了解如何设置调度程序,以便它将调度或 API 调用排队。或者告诉每个组件对其数据进行 API 调用的更好方法,所以我什至没有调度问题。

哦,这是我的 Dispatcher.js 文件,您可以看到它是如何设置的:

0 投票
1 回答
63 浏览

javascript - 路线名称应该是唯一的吗?

使用react-router v0.12.4.

路线名称应该是唯一的吗?以下似乎不起作用。

0 投票
2 回答
14288 浏览

javascript - React router 仅模式路由

我的应用程序中确实有一个公共区域和一个私人区域,我希望能够在公共视图中的任何地方显示登录模式对话框。模态应该有自己的路线。第二个用例是私人区域中的配置文件模式。

问题是当模态显示时,背景中的当前视图会消失,因为模态不是当前视图路由的子节点。

由于我不想将相同的模式添加到每个可能的视图路线,所以这里有一个问题:是否可以将模式路线与其父路线分离并在应用程序中的任何地方显示它们而无需主要内容呈现?最好的方法是什么?我发现了这个问题,但似乎不是同一个问题。

模式路由上的浏览器刷新不会在后台呈现任何内容,但这是我可以忍受的问题。

0 投票
1 回答
785 浏览

reactjs-flux - React-router 转换总是创建处理程序

我刚开始,所以我不知道这是理想的行为还是我错过了什么。我正在使用 Flux 架构(特别是 Reflux,但这不应该是相关的)。在我的超级简单的测试应用程序中:

处理程序是 React 组件,是最简单的设置。当应用程序启动时,我按预期登陆“公司”页面。然后,当我转换为“员工”时,一切都很好,但是当我转换回“公司”时,我观察到创建了一个全新的 {Company} 组件,从而使我的状态消失了。这将导致许多不必要的 API 调用,除非我做错了什么或不理解。

有没有办法告诉 Route 使用现有的处理程序(如果存在)并重新渲染它?而不是创建一个新类?

0 投票
2 回答
252 浏览

reactjs - React Router: TypeError: oldElement._store is undefined

Trying to take an existing app and use React Router with the simplest HashLocation method to get started.

Using: React 0.12.2 React Router 0.12.4

main.js (entry point):

routes.jsx:

app.jsx:

question1.jsx (other questions are like this too):

When I click any link rendered in app.jsx, Firefox's console displays this error: enter image description here

Which takes me to this line in the built main.js file: enter image description here

However, in Chrome, I get a completely different error: enter image description here

Funny thing is that if I refresh the entire page manually, the correct question appears on screen, for example if I open a new tab and go to http://localhost:9090/#/questions/1 it will show "Question 1" on the screen: enter image description here

But, when I click on Question 2, this is what triggers the error: enter image description here

But, if I reload the page entirely while at the questions/2 url, it will work: On Fresh Reload

0 投票
1 回答
332 浏览

reactjs - 如何使用 react-router 将相同的状态传递给多个路由?

我正在尝试将相同的状态传递给多个Routesusing react-router。这是我的router设置。

我想告诉我我route在哪一步。我尝试使用path=":step",但后来我没有正确路由。我该如何解决?

0 投票
1 回答
407 浏览

reactjs - 我可以在 Flux 中使用动作来控制路线,如何?

我正在 Flux 中编写一个身份验证模块,操作:auth、auth_success、auth_error。我在想当动作 auth_error 发生时,路由器将转到“/登录”。当 action, action, auth_success 发生时,路由器将转到'/dashboard'。但这似乎是错误的,因为动作只交给调度员。我不知道如何路由回调。也许检查商店价值?

0 投票
1 回答
3514 浏览

javascript - 如何使用 React Router 获取 Route Handler 的参数

我正在尝试将一条路线重定向到另一条路线,并传递一些参数,如下所示:

我的登录路线:

无论我作为参数输入什么,this.getParams() 都会返回一个空对象。有什么建议么?

0 投票
4 回答
37461 浏览

javascript - 如何在 react-router 中使用普通的锚链接

非常类似于这个角度问题:使用 react-router 时如何使用锚链接进行页面内导航?

换句话说,我如何在使用 react-router 时实现以下纯 HTML?

目前我拦截对此类链接的点击,并滚动到锚点位置。这并不令人满意,因为这意味着无法直接链接到页面的某些部分。