如何从 Router 组件以外的组件访问路由参数

2024-01-07

在 React-router 1.0/2.0 中,可以通过以下方式访问路由参数:this.props.params来自 Route 组件 - 但似乎没有受支持的方法来从上述 Route 组件中深层包含的组件访问参数。

可以通过以下方式访问数据类型context.location但这会发出警告,指出这是已弃用的。


开始在最新版本的 React Router 中 https://github.com/rackt/react-router/blob/master/upgrade-guides/v2.0.0.md#changes-to-thiscontext,所有上下文数据已被弃用,取而代之的是this.context.router:

只有一个名为router被添加到上下文中。访问this.context.history, this.context.location, and this.context.route均已弃用。这个新对象包含可用的方法history(例如push, replace) 随着setRouteLeaveHook.

不幸的是,这不包括location数据,因此您需要自己将其传递到子(非路由处理程序)组件中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Router 组件以外的组件访问路由参数 的相关文章

  • ReactCSSTransitionGroup 组件WillLeave 未调用

    我尝试使用 ReactCssTransition 但不知何故该事件没有被调用 componentWillLeave 这是我的组件 import React Component from react import TransitionGrou
  • 如何禁用 Chrome 自动完成功能?

    我们想要禁用自动完成在 Chrome 浏览器中的 React JavaScript 应用程序中 我们尝试了互联网上提供的一系列解决方案 但没有任何效果 autoComplete off不可靠 其他方法也不可靠 目前这对我们来说非常重要 所以
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 在 React Native 中将 Props 传递到屏幕

    我已经开始学习 React Native 并且一如既往地从创建可重用组件开始 我了解了如何在创建自定义组件时传递和访问 props 我想在 React Native 中创建一个基本屏幕 它具有通用属性 并且我的应用程序中的所有屏幕都可以设置
  • React onSubmit e.preventDefault() 有时不起作用 + Axios

    现在我在 React 中面临这个奇怪的问题 其中带有 e preventDefault 的 onSubmit 函数有时会避免刷新页面 有时则不会 我创建了两个挂钩来跟踪上传的文件及其进度条 const uploadedFiles setUp
  • 有没有办法让 React 为孩子自动定义“键”?

    我正在学习 React 我偶然发现了 动态儿童 的这个怪癖 带有代码示例的序言 Render Pass 1
  • ant-d upload中如何为removeFile添加PopConfirm一个图片文件

    我正在使用 Ant d Upload 通过本地系统上传文件 然后单击文件预览图像上的删除图标 图像文件将被删除 我想添加一个弹出确认 所以我尝试在 onRemovefunction 中添加确认作为承诺但它不起作用 它在浏览器中显示警报 on
  • React无限滚动scrollableTarget动态获取id?

    我在我的项目中使用react infinite scroll component 如何让scrollableTarget动态获取item id 我试过这样scrollableTarget item id 但它不起作用 必须与该 div 具有
  • 如何将React版本17降级到16?

    由于 React 17 不支持许多 React 包 如何将 React 版本从 17 降级到 16 假设您使用 npm yarn 或其他节点包管理器 依赖项版本列在package json 搜索react and react dom包下de
  • 在 JSPdf 中嵌入二进制文件

    我在用着JsPDF https www npmjs com package jspdf将 html 内容导出到下载的 PDF 考虑以下示例 该示例获取一些 HTML 内容并将其输出到下载的 PDF 文件 使用JsPdf import Rea
  • Material-ui :从主题中提取颜色

    我想使用我的颜色material ui像这样的组件内的主题 const MyComponent props gt
  • × TypeError:无法读取未定义的属性(读取“map”)

    当我尝试运行此代码时 它给出了此错误 TypeError 无法读取未定义的属性 读取 map 为什么会发生这种情况 我怎样才能让它发挥作用 import React from react import Grid from material
  • React.js 和 Ajax 之间的区别

    当我在 google 上搜索 React js 时 我得到的是 React js 是一个用于创建用户界面的框架 如果网站的某个特定部分经常更新 则意味着我们可以使用 React 但我很困惑 Ajax 仅用于此目的 我们可以使用 Ajax 更
  • React-Router v5 History.push 不触发组件

    很抱歉朋友们又问这个问题了 我找到了解决这个问题的几个方法 但他们让我很困惑 我只是想问一个优雅的方法来做到这一点 正如你通过标题所理解的 我有一个关于反应路由的问题 让我解释 我有一个按钮 其名称是Login 单击按钮后 我执行了一些逻辑
  • 为什么react中的组件需要大写? [复制]

    这个问题在这里已经有答案了 因此 当您声明一个组件以小写首字母进行反应时 它不会显示 也不会引发错误 当您将组件名称大写时 它确实有效 这样的实现是怎样的呢 为了避免与现有的 html 元素发生冲突 还是这是一个错误 var test Re
  • 如果在状态中接收到相同的值,React 是否会重新渲染组件

    I am trying to check if I set the same value to state as it has previously does it re render the component or if it foun
  • React hooks 状态变量在重新渲染后未更新

    在下面的示例中 我有一个想要更新的元素 水果 数组 并使用更新后的数组执行其他操作 在本例中保存更新后的列表 我的理解是重新渲染状态将更新 但它不在这里 或者状态更新和我的操作之间存在延迟 In the addFruit功能我可以看到 Pe
  • 删除旧版本的 create-react-app

    我想使用创建一个新的反应应用程序create react app脚本 我仍然安装了一个不再受支持的全局版本 因此我卸载了全局版本并尝试创建一个新版本 如下所示 npx create react app myapp 然后我得到了一个没有使用模
  • 重定向时重新初始化类

    我目前在http example com parentdir module 2 此 URL 实际上加载 Module js 类 如以下路由所示
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s

随机推荐

  • 用 Perl 编写编译器的一部分(用 C++ 编写)

    我正在尝试了解更多有关编译器和编程语言的知识 很遗憾我的大学不提供有关编译器的课程 所以我必须自己做 谢谢互联网 此刻我tryin为了理解和实现我的语言的词法分析器 我需要正则表达式 我习惯很快地编写 Perl 正则表达式脚本 我认为我可以
  • Jquery 成功函数未使用 JSONP 触发

    一直在使用 jQuery 调用我的服务 该服务位于不同的域中 对服务的调用已成功进行 我的调试点被触发 并且返回了正确的响应 我嗅探了流量 我的问题主要是成功和失败回调不会被触发 我读过一些其他帖子 https stackoverflow
  • 访问 VBA 错误“此类对象不支持操作”

    我有这个 vba 代码 但我不明白为什么它返回错误me ID 存储为字符串顺便说一句 Private Sub ID AfterUpdate Dim db As DAO Database Dim rs As DAO Recordset Me
  • 从其他 Xaml 文件绑定到 Usercontrol 内的元素

    谁能告诉我如何绑定到用户控件的元素 我尝试使用数据触发器与 IDataErrorInfo 一起禁用 启用按钮 所以当元素位于同一视图上时我通常会这样做
  • 调用带注释的方法时运行另一个函数

    有没有办法创建自定义或使用现有注释来在调用带注释的方法时触发代码运行 最好 我想使用 Spring 库 例如 SendEmail templateName public void doSomething log info Something
  • 如何更改内容类型 Python

    我想将文件上传到远程设备 如果我查找与wireshark的连接 我会得到这个 POST saveRestore htm cgi HTTP 1 1 Host 10 128 115 214 User Agent Mozilla 5 0 X11
  • Elmah 没有记录 HttpRequestValidationException

    在我的 ASP NET MVC2 应用程序中 Elmah 无法记录任何HttpRequestValidationException 除非您通过远程桌面登录网络服务器并以本地主机身份浏览该网站 例如 如果我输入 39使用我获得的域名从我的电脑
  • 不包含引号但可以包含转义引号的正则表达式

    我正在寻找一个正则表达式来匹配一个字符串 该字符串可以包含除单引号之外的任何内容 但如果引号被转义 则应该匹配 本质上 我想匹配字符串 Tuco and Tuco ABC 但不是 Tuco 看起来下面的内容与引号不匹配 但无法匹配引号 什么
  • 引起原因:java.sql.SQLException:找不到jdbc的合适驱动程序:mysql://localhost:3306/domain

    你好我正在使用以下 hibernate core 4 1 2 Final jar mysql connector 5 1 6 jar 两者都可以在我的项目 lib 目录中找到 我有以下内容休眠 cg xml配置
  • Azure 持久实体,用于存储运行之间的函数应用程序状态 (.net 6)

    我想每分钟运行一个简单的 net 6 c 消耗 azure 函数应用程序 不持久 但我需要记住上次运行的状态 状态由 json 可序列化对象的数组和一些访问令牌字符串组成 所以我创建了一个像这样的持久功能实体 JsonObject Memb
  • 如何向接口添加委托 C#

    我的班上需要有一些代表 我想使用该界面来 提醒 我设置这些委托 How to 我的班级是这样的 public class ClsPictures myInterface Implementing the IProcess interface
  • 如何刷新天气层?

    有谁知道是否有办法刷新 Google 地图 javascript API 中的天气层 为了提供一些背景知识 我们有一个应用程序 它在浏览器中保持打开状态 并每隔几分钟更新地图上的一些信息 我们让用户在地图上打开天气图层 但天气仅在创建图层时
  • 如何在android中测试应用内订阅

    我已成功将应用内购买 api v3 集成到我现有的应用程序中 我还在 google play 中创建了应用程序订阅 并在代码中添加了订阅 ID 在 Google 开发者网站中 我读到要测试应用程序购买 我们需要在 设置 部分添加电子邮件 I
  • 无需连接WiFi即可获取MAC地址

    是否可以在未实际连接的情况下获取 WiFi MAC 地址 假设我有 Android 设备 A 我已经打开了 WiFi 因此我的 Android 设备现在能够检测到附近广播的 WiFi SSID 我附近有一些广播的 WiFi SSID 如下所
  • 遍历范围,将字符串附加到每个范围

    我在 Google 表格 activerange 中选择了一系列单元格 我想迭代该范围内的每个单元格 并在末尾添加一个字符串 该字符串始终相同 并且可以硬编码到函数中 这似乎是一件非常简单的事情 但我已经搞乱了代码一个小时了 但无法发生任何
  • 以有限度数旋转表盘

    All 我想要以特定角度旋转图像 如下图所示 我有旋转代码 但它旋转 360 度 但我只想要特定的度数 并获取表盘上侧的选定数字 下面是我的代码 我的自定义视图工作正常 但性能不佳 import android content Contex
  • 在更新值时扩展 numpy 数组

    我有一个具有形状的 numpy 数组 1 m 和每个条目 n 是0 9之间的整数 我想创建一个具有形状的新矩阵 m 10 其中 除了第 n 列为 1 之外 所有条目均为 0 例如 2 3 1 gt 0 0 1 0 0 0 0 1 0 1 0
  • 更改winform应用程序中所有表单的背景颜色

    我有像这样的基本表单类 它继承自类 public partial class BaseForm Form protected override void OnLoad EventArgs e Color colBackColor Prope
  • 如何在 CIL 中声明值类型:`.class value` 还是只是 `.class`?

    我看过 C struct FooStruct in ILDASM http msdn microsoft com en us library f7dy01k1 aspx 并看到以下内容 ILDASM 此处显示两个不同的声明 一个开始于 cl
  • 如何从 Router 组件以外的组件访问路由参数

    在 React router 1 0 2 0 中 可以通过以下方式访问路由参数 this props params来自 Route 组件 但似乎没有受支持的方法来从上述 Route 组件中深层包含的组件访问参数 可以通过以下方式访问数据类型