问题标签 [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.
reactjs - 如何使用 React-Router 根据 URL / 路径更新 ReactJS 组件
使用 React-Router 时如何根据 URL / 路径更新 ReactJS 组件?
下面的代码有效,但这是正确的方法吗?似乎有很多代码可以进行简单的更新。我希望路由器中有一个有状态的 API 调用来自动处理这种情况。
reactjs - 我可以为两条路线使用相同的路线处理程序吗
我定义了这两条路线:
因此,两条路由都使用同一个名为 Register 的处理程序。
在registerpromotion路由的情况下,我传递了一个属性,而在register路由的情况下,我没有。
我无法让它工作-promotionCode 属性始终未定义。
有谁知道您是否可以对两条路线使用相同的处理程序?
非常感谢!
javascript - react-router 未渲染的嵌套详细信息路由
我正在使用 react-router 插件来设置我的路线我想提供两条路线list/
和list/:id
(很常见)我所拥有的和正在工作的是:
但我正在努力让我的“细节”路线发挥作用。我尝试的是:
首先,这目前不起作用,DetailsComponent
访问 list/123 时未呈现 my (例如)
其次,即使这可行:我将如何管理将我收藏中的一个模型“向下”传递给DetailsComponent
?
javascript - browserify loading ReactJS twice with react-router
I use browserify to bundle ReactJS and (among others) react-router. But when I look in the console, the message ...
... shows up twice (!) telling me that in fact two ReactJS instances are running.
If I look in my browserified JS I saw the ReactJS source only once.
How would I avoid this?
package.json
:
When I run npm ls | grep -i react
I get:
reactjs - 在没有 JSX 的情况下使用 react-router
我正在尝试通过 javascript API 找到使用 react-router 的示例,但到目前为止找不到任何东西。
我的目标是将 react-router 与试剂和 clojurescript 一起使用。因此,如果有人已经完成了这项工作(即使是使用 Om),我将不胜感激朝着正确的方向前进。否则,只是一个没有 JSX 的直接 javascript 示例会很有帮助。
编辑 1——接近解决方案
感谢@FakeRainBrigand 帮助将 JSX 翻译成普通的 JS。
这是 React.js 0.11.2 版本(这是当前 Reagent 版本使用的版本——0.4.3)。
JSXTransformer.js
提示:您可以使用您的 React 版本执行 JSX->JS 转换。只需将其包含在您的页面中并使用浏览器的开发者控制台执行JSXTransformer.transform('/** @jsx React.DOM */<Route location="history">...</Route>').code
这是 Clojurescript 版本:
不幸的是,Reagent 默认创建的组件似乎不是“标准”的 React 组件,在React.isValidClass(myReagentComponent) === false
. 所以剩下的就是弄清楚如何以通过该测试的形式生成组件。我为此发布了一个Stack Overflow 问题。
reactjs - Reagent 生成一个通过 React.isValidClass(component) 的 React 组件?
我正在尝试在我的 Clojurescript Reagent 项目中使用 react-router。问题是,react-router 要求组件 pass React.isValidClass(component)
,在 React 0.11.2 中定义为:
Reagent 似乎将组件生成为对象而不是函数。这是我的代码:
有没有人想出如何使这种互操作工作?
reactjs - React-Router:导入和使用命名 URL
是否有一种正式的方法可以导入我定义的路由并从另一个 React 组件重定向到该路由器中的命名模式?
假设我的路线如下所示:
我有一个这样的组件:
两个问题:
- 我应该使用
window.location.replace()
还是其他一些 React-Router 方法来处理程序重定向? - 有没有办法导入路由器并重定向到命名路由?
我想写一些类似的东西:
javascript - 使 react-router 不会破坏 Jest (reactJs) 测试
我目前正在尝试将 Jest 测试添加到 React 应用程序(在此处找到)。
但是,当我运行以下测试时,
我收到以下错误:
我的应用程序和CategoryPage
组件都专门使用 react-router。CategoryPage 包含一个使用 react-router 进行身份验证的 mixin。根据我自己的调试,我发现当 Jest 尝试调用makeHref
react-router 的内置导航方法之一时发生错误。
为了解决这个问题,我首先尝试调用jest.dontMock('react-router')
,但这没有任何效果。问题似乎是,通过不嘲笑CategoryPage
, jest 将自动且不可逆转地包含其所有依赖项,未嘲笑。
这个问题很难解决的部分原因是因为大多数使用 Jest 和 React 的人似乎没有测试他们的组件,要么是因为他们不是以测试为中心,要么是因为他们使用 Flux 并且只测试 Stores、Dispatchers 等. 我们还没有使用 Flux,所以这不是我们的选择,但可能是我们将来必须过渡到的东西。
编辑 1:如果我删除了测试通过,jest.dontMock('../js/components/CategoryPage.jsx')
那么就不可能实际测试该组件的功能。
编辑 2:当我排除时,jest.dontMock('jquery')
我得到另一个与我用来创建模态的 mixin 相关的错误:
编辑 3:我似乎已经将错误隔离到 react-router 的 Navigation mixin,它调用this.context.makeHref
. React 团队this.context
从 .9 版本开始就弃用了,所以我相信这可能是问题的根源。因此,欢迎任何解决方法或修复this.context
方法。
javascript - React Router 0.11.1 routes all requests to Home
I am having the problem that React Router 0.11.1 routes all paths to my default handler, i.e. Home, even though I have a specific handler for the /about path:
Also, the router seems to attach #/ automatically to the end of the URL, which is confusing. Can someone please tell me how to fix my routing, so that I can access the About handler?
See my full project at GitHub.
javascript - 是 var { Route, Redirect, RouteHandler, Link } = 路由器;在 Javascript 中有效吗?
这在 Javascript 中是什么意思?我在react-router示例中发现了这一点
通过browserify运行时出现以下错误。
https://github.com/rackt/react-router/blob/master/examples/dynamic-segments/app.js
Esprima 也给出了同样的错误: http ://esprima.org/demo/validate.html