Comments (6)
OK.looks it's been fixed.thanks.
from react.
@pwbriggs @bonelessgalaxy
Thank you for your answer. I have now fixed my CodeSandbox link to be publicly accessible, which indeed can solve my problem. What I am expecting is that the ID generated directly by the useId method should not need escaping and can be used directly. Although this approach does solve my problem, I still believe there are compatibility issues because using the character ':' in a DOM id is not a common practice. Regardless, thank you for your response.
from react.
Hey there @Zywz95! 👋
I'm not sure I understand the problem you're experiencing. Can you tell me
- What do you expect to happen?
- Why are you trying to use
document.querySelector
directly? Is it possible to write the logic within the component itself (perhaps within an effect)?
I can't seem to access your Code Sandbox repro, maybe you need to change its permissions to publicly viewable?
Thanks! ❤️
from react.
Hi @Zywz95, I think you're running into the same issue as #27553
It's because the reserved character :
has special meaning in CSS for pseudo-classes and needs to be escaped.
Thankfully, there's a built-in method for this: CSS.escape(selector: string)
.
Something like this should work for your case!
document.querySelector(`#${CSS.escape(":r1:")}`)
from react.
@bonelessgalaxy: true.
That said, @Zywz95, be careful about hardcoding the value :r1:
—there's no guarantee that useId
always return that. I'd do something more like this:
import { useEffect, useId } from "react";
function MyComponent() {
const id = useId(); // 👈 Put it in a variable
useEffect(() => {
const element = document.querySelector(`#${CSS.escape(id)}`);
// Do something with `element`
}, [id]);
return <div id={id}>Hello world!</div>;
}
from react.
Yeah, I agree the :
makes everything more complicated. There's an ongoing discussion about this at #26839, so I think we can close this issue.
from react.
Related Issues (20)
- Ensures role attribute has an appropriate value for the element (aria-allowed-role - https://dequeuniversity.com/rules/axe/4.7/aria-allowed-role?application=msftAI) HOT 1
- Ensures ARIA attributes are allowed for an element's role (aria-allowed-attr - https://accessibilityinsights.io/info-examples/web/aria-allowed-attr)Bug: HOT 1
- Bug: HOT 1
- [VLG]¿Cómo hablar con Vueling por teléfono? @telefono españa HOT 1
- hook invalid
- Feature request: Expose additional profiling tools for library testing HOT 5
- Bug: "Should have a queue. This is likely a bug in React" HOT 11
- [React 19]
- [React 19] requestFormReset reports TypeError Cannot read properties of null (reading 'queue') on repeated form submissions HOT 3
- [Compiler Bug]: healthcheck do not check next.js StrictMode HOT 5
- [React 19] Different behaviors with `preload` method HOT 2
- Bug: React 18 SSR Sometimes fallback to CSR without throw any errors on Prod Mode, The fiber node which tag is "HostRoot"(3)has flags "Snapshot"(1024),it works fine when flags is Update(4) HOT 1
- Bug: ForwardRef components cant have display names or types HOT 2
- Consider changing the next property type of the update object of the dispatchSetState function from any to null
- [React 19]
- ..
- [DevTools Bug]: 5.2.0 is not available for Firefox HOT 2
- [DevTools Bug] getCommitTree(): Invalid commit "1" for root "445". There are only "1" commits.
- [eslint-plugin-react-hooks] Missing type declarations HOT 2
- [React 19]
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react.