问题标签 [react-router-dom]

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

javascript - 无法通过 this.props 访问响应对象 | 反应/还原

当我尝试访问组件中的响应对象时,它不会向我抛出错误,但也不会打印。我确实可以访问组件中的响应,但仅此而已,我实际上无法打印一些东西。

动作文件

我的减速器文件

最后是我的组件,我试图呈现响应的一些结果。

我上传了回复的截图img:http: //prntscr.com/fbs531

我的代码有什么问题?

0 投票
2 回答
4411 浏览

reactjs - React 组件未显示在匹配的路由上(react-router-dom)

大家好,不知道怎么回事。我有以下路线:

只有带有 path="/"Route 和带有 path="/patient/:id"的 Route 是有效的,其他 3 条路由只是没有显示与路径对应的组件。

这就是我访问路线的方式。我有一个带有正确链接的标题组件。见下文

在 Header 组件中,我从 'react-router-dom' 导入 { Link }; 在我声明路由的文件中,我从“react-router-dom”导入 { BrowserRouter, Route, Switch };

我究竟做错了什么?

0 投票
1 回答
3016 浏览

reactjs - 为什么我的组件一直在所有路由中呈现?

当我输入一个不存在的 url 时,我试图呈现一个组件。但是,组件会在所有路由中保持渲染。我正在使用react-router-dom@4.1.1. 这是我设置的路线:

这是我的NotFound组件:

我目前面临的问题是消息:当我更改 URL 时,在路由上The page that you are looking is not there.不断弹出。我很难尝试仅在我转到未定义的路线时才显示该消息。最初,我尝试切换路线并在顶部制作更“详细”的路线,如下所示://addelement

但是,它并没有解决问题。有没有办法防止消息出现在我去的每条路线上,除了未定义的路线?

0 投票
0 回答
18 浏览

reactjs - 未调用的组件不断泄漏到其他组件中

如本文所述,我试图在 React Redux 中实现 404 页面。我的路线如下:

在此之后,我意识到NotFoundComponent不断泄漏到RootContainer. 知道为什么会这样吗?

0 投票
2 回答
13609 浏览

reactjs - 使用 HashRouter 以编程方式导航

我最初使用hashHistoryfromreact-router并以编程方式使用this.props.history.push(). 但是随着HashRouterreact-router-dom包中转移到使用,this.props.history.push()现在会引发Cannot read property 'push' of undefined错误。

我现在如何以编程方式导航使用HashRouter

App.js的渲染函数

正在调用的SignUpForm.js中的函数.push()

0 投票
0 回答
1357 浏览

react-router - NavLink 不重定向,如果直接访问

我在带有导航栏和内容的页面上使用 react-router。

-- 形状

现在,当我单击时,localhost:8080/shape我会被重定向到带有导航的正确页面。
导航也正常工作(即点击三角形将我重定向到localhost:8080/shape/triangle

但是,当我尝试localhost:8080/shape/triangle直接访问该页面时,我得到了 404!

它仅在我/shapes先访问页面然后使用导航时才有效。

我需要在这里解决什么以确保我可以路由到shape/*页面。

注意:我指的是https://reacttraining.com/react-router/web/api/Switch

0 投票
1 回答
1380 浏览

reactjs - 使用 react-router-redux,如何以编程方式重定向到 URL

给定以下软件包,我如何以编程方式重定向到 URL:

我有这个工作:

上述问题在于,当浏览器的 URL 发生变化时,React 应用程序似乎并未将 URL 更改视为重定向。应该由 URL 触发的 React 应用程序组件永远不会像 URL 被硬刷新时那样运行 React 组件逻辑。

如何以编程方式触发 React 应用程序加载新 URL 的 URL 重定向?

0 投票
0 回答
1601 浏览

javascript - 为什么 setRouteLeaveHook 不可见?

使用 react-router-dom 的 4.1.1 版本,我有一个用“withRouter”包装的组件,我已将路由器添加到上下文中,并且在运行时我在上下文中看到了一个路由器对象。路由按预期运行,页面包含一个 redux 表单。但是尝试调用 setRouteLeaveHook 会导致:

未捕获的类型错误:this.context.router.setRouteLeaveHook 不是函数

所以我的问题是:为什么 setRouteLeaveHook 作为函数不可见?

在此之前我实际上已经尝试了几种方法,包括来自mknabe的代码,但它们都会导致相同的错误。

缩写代码:

0 投票
1 回答
1163 浏览

reactjs - 将参数从链接传递到组件 - react-router-dom

我正在尝试构建一个个人资料页面,其中显示用户信息。

路线是 - localhost:3000/profile/,我想防止在 url 中显示用户 ID。

示例:而不是 localhost:3000/profile/10,我只想查看 localhost:3000/profile/。

我目前使用第一种方法,但我的老板要求我更改为第二种方法。

虽然,获取当前登录用户的 id 非常容易。我的挑战是至少将列出的用户的 id 传递给配置文件组件。

我正在使用 react-router-dom 和 redux。谢谢您的帮助

0 投票
1 回答
1388 浏览

reactjs - 当用户成功登录时,React Router v4 重定向到经过身份验证的路由

我是 react 新手,从 angular 迁移并尝试使用 Route v4 实现一个简单的 JWT 认证 Flux react 应用程序。我已成功向 Rails API 发送请求并获得了我的 JWT 令牌。现在我找不到任何以编程方式将我的应用程序重定向到 LoginAction 中经过身份验证的 Route 组件的方式。

index.js

登录动作.js

在使用有效令牌成功请求 api 后的 LoginAction 中,我想将页面重定向到 AuthenticatedApp 组件。由于只引用了旧版本的路线,但是 Route 4 版本在互联网上的支持很少。

最后,我还没有找到getCurrentQuery(), transitionToRoute v4 中这些的替代品。