React useId 创建无效的选择器

2023-12-31

我正在尝试通过 id 获取元素。 (这是重现错误的示例代码)

function MyComponent(){
  const myId = useId();

  useEffect(() => {
    const myComponentDOMElement = document.querySelector(`#${myId}`); // error here
    }
  )

  return <div id={ myId }> text </div>
}

这段代码给出了一个错误:

Uncaught DOMException: Failed to execute 'querySelector' on 'Document': '#:Rt6m:' is not a valid selector.

useRef 在我的情况下无法帮助我。如何使用 ID 来获取元素。


由 React 生成的 IDuseId由冒号包围(例如:R1ab6km:)并且这些特殊字符被解释为querySelector。你可以使用以下命令来逃避它们CSS.escape()以便querySelector按字面意思对待这些字符。

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

React useId 创建无效的选择器 的相关文章

  • Firebase,只得到新的孩子[重复]

    这个问题在这里已经有答案了 var firebase new Firebase firebaseRef on child added function snapshot 这将接收所有元素 有没有办法在创建新的 Firebase 引用时不接收
  • 从函数返回函数的目的是什么?

    阅读一些遗留代码 发现 A prototype setSize function var v1 new Vector2 return function size var halfSize v1 copy size multiplyScala
  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 如何使用有角度的材料创建卡片网格?

    我正在尝试使用 ng repeat 创建每行三张卡片的网格 我有一个普通的 javascript 对象数组附加到范围 下面的代码将为每张卡创建一个新行 div div
  • 从 React Native Js 代码调用 Android Native UI 组件方法

    我创建了一个 CustomView SignatureView java 它扩展了 LinearLayout 以捕获 Android Native 中的签名 并创建了SignatureCapturePackage java和Signatur
  • nodejs (libuv) 事件循环是否在一个阶段(队列)中执行所有回调,然后再进入下一阶段或以循环方式运行?

    我正在研究 Node js 中 libuv 提供的事件循环 我遇到了关注 Deepal Jayasekara 的博客 https blog insiderattack net event loop and the big picture n
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • React 中的 Reconciliation 详解

    我是 React JS 的新手 谁能准确解释和解是如何运作的 我尝试从 React 官方网站上理解它 但没有得到它 我是这样理解的 您会同意 React 使用组件使事情变得简单且更快 通过 JSX 我们可以让用户定义的组件变得更容易 一天结
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • 有没有办法使用 ko.observableArray 作为地图?

    有没有办法使用ko observableArray http knockoutjs com documentation observableArrays html像地图 字典一样 例如 var arr ko observableArray
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容
  • 使用velocity.js制作可拖动元素的动画

    我正在使用velocity js 为用户拖动的可拖动 SVG 元素设置动画 然而 velocity js 将先前的 mousemove 坐标排队并通过所有后续的 mousemove 坐标进行动画处理 我想要的是velocity js 不要对

随机推荐

  • Php-计算出现在是什么学年

    我正在尝试编写一个适合当前学年的脚本 学年于每年8月1日开始 我如何根据当前日期计算出我们所处的学年 IE 2012 年 7 月 31 日 20120631 将计算为 2011 2012 2012 年 8 月 13 日 20120801 将
  • 将 Spring Security 升级到 3.2.0.RELEASE 不再在 Spring taglib 中提供 CSRF 令牌

    我的项目使用 Spring Security 3 2 0 RC2 我的 JSP 使用 Spring taglib 的 form form 标记自动将 CSRF 令牌插入到我的表单中 升级到 Spring Security 3 2 0 REL
  • VLOOKUP 未在数组中找到值

    I used VLOOKUP函数在数组中查找值 但某些值给出了 N A 答案 尽管在数组中可用 为了对数字进行四舍五入 我使用了CEILING功能 但有趣的一点是在某些值中 它不起作用 我检查了值的类型是否为数字 另外 我用过ROUNDUP
  • Angular2 动画[隐藏]元素

    我有一个侧边栏 我使用如下布尔值显示 隐藏 hidden toggleSidebar 我一直在尝试找到向此元素添加过渡的正确方法 但到目前为止 使用此方法仅部分成功 class show toggleSidebar 不过 将 css 样式应
  • 从 Python shell 使用 IPython,如“code.interact()”

    是否可以使用现有 Python shell 中的 IPython shell 作为 shell inside a shell 类似于内置的code interact In Python 0 11API 已经过彻底修改 shell 更容易调用
  • 内置容器的自定义比较

    在我的代码中 对各种容器 列表 字典等 的相等性进行了大量比较 容器的键和值的类型为 float bool int 和 str 内置的 和 工作得很好 我刚刚了解到 必须使用自定义比较函数来比较容器值中使用的浮点数 我已经编写了该函数 我们
  • Google OR-Tools(使用 SCIP 求解器)- 如何访问求解器找到的中间解?

    我是 Google OR Tools 的新手 我使用 Python 实现了一个以 SCIP 作为求解器的 MIP 模型 目标函数用于最小化 求解器 最小化 C 并且我正在通过访问最终解决方案求解器 Objective Value 但是 我还
  • Eclipse Mars 对 Java 的支持 - 构建路径设置

    我尝试安装并使用Java 9 对 Eclipse Mars 的支持 http www eclipse org community eclipse newsletter 2015 june article4 php 然而 当尝试编译一个简单的
  • MKLocalSearch 只产生美国结果,如何扩展搜索?

    我正在使用 MKLocalSearch 来允许用户搜索他们的城市 但是 当我尝试该代码时 我只收到美国的结果 我还收到了很多结果 包括商店等 我添加了过滤器func completerDidUpdateResults completer M
  • 清除淘汰验证错误

    我有一个使用 Knockout js 并使用 Knockout Validation 的页面设置 在页面加载期间 我在选择框中放置了另一个插件 该插件会触发更改 从而触发验证 我需要能够使用 JS 清除该错误 以便我可以从外观新颖的 UI
  • 为什么计算斐波那契数列的复杂度是 2^n 而不是 n^2?

    我试图使用递归树找到斐波那契数列的复杂性并得出结论height of tree O n 最坏的情况下 cost of each level cn hence complexity n n n 2 怎么会这样O 2 n 朴素递归斐波那契的复杂
  • Linq 连接参数化的不同键

    我正在尝试基于动态键 LINQ 两个表 用户可以通过组合框更改密钥 键可能是钱 字符串 双精度数 整数等 目前我得到的数据很好 但没有过滤掉双精度数 我可以在 VB 中过滤双精度值 但速度很慢 我想立即在 LINQ 查询中执行此操作 这是数
  • libc++ std::istringstream 不会引发异常。漏洞?

    配置完后std istringstream抛出异常时failbit已设置 我在 libc 中没有发生任何异常 这是在 linux 下 使用 libcxxrt 支持编译的 libc 我认为这是 libc 或 libcxxrt 中的错误 inc
  • python导入具有相同根包名和不同位置的不同子包

    我想知道是否有人可以阐明这一点 我们有多个具有相同根包的包库 例如a 我也有包a b位于 X 和包中a c位于Y X和Y都在我的PYTHONPATH当我这样做时 import a c import a b 我收到错误 No module n
  • 当 ModelState 无效时保留下拉信息

    我的 DropDownLists 遇到一些问题 因为当我发布信息并且我的模型无效时 它会返回 空 页面 从而触发错误 就像这个问题 https stackoverflow com questions 3393521 the viewdata
  • Azure Functions - 拥有 host.json 和 local.settings.json 的目的是什么

    我可以看到两个 json 文件 host json 和 local settings json 已添加到 Azure Function 目录中 主机 json version 2 0 logging applicationInsights
  • 按月将带有 NSDate 对象的 NSArray 排序到 NSDictionary 中

    我正在构建一个UITableView并想按月分组 以便我可以将这些字符串作为我的节标题 例如 February 2013 Item 1 Item 2 January 2013 Item 1 Item 2 我有一个NSArray其中包含具有
  • Windows 7 上的 Microsoft Access 文本 ODBC 驱动程序

    我创建了一个 Delphi 应用程序 它利用 ODBC 数据源访问 csv 格式的文本文件 该驱动程序是 Microsoft Access Text Driver 但是 当我在 Windows 7 计算机上部署应用程序时 它无法工作 因为该
  • 应用程序先前由“root”运行后,QSerialPort 无法打开 tty [重复]

    这个问题在这里已经有答案了 我有一个应用程序 使用QSerialPort 从串行端口读取和写入 当我运行这个应用程序时root用户 然后以非 root 用户身份再次运行它 我不再能够写入串行端口 收到以下错误 QIODevice write
  • React useId 创建无效的选择器

    我正在尝试通过 id 获取元素 这是重现错误的示例代码 function MyComponent const myId useId useEffect gt const myComponentDOMElement document quer