`Tooltip` is incompatible with callback refs
Maintainer antworten meist innerhalb von 2 Tagen
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 70/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- react, typescript
- Bereich
- frontend
Rechercherichtung
Start at the Tooltip component's ref handling and reproduce the callback-ref example from the issue, comparing it with the object-ref case. Done means a callback ref passed to Tooltip still receives the underlying element and the tooltip appears when hovering the wrapped Button.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
When I encountered https://github.com/primer/react/issues/8373 I moved my callback ref to the wrapping Tooltip . This appeared to forward the ref to the underlying element as I wanted. However, if the passed ref is a callback ref, the tooltip never appears. This is not the case for an object ref.
Steps to reproduce
This breaks, even though it typechecks just fine. The log does get called, but the tooltip does not appear:
const logRef = useCallback(element => console.log(element), [])
return <Tooltip ref={logRef} text="Example"><Button>Button text</Button></Tooltip>
This works, but isn't a callback ref:
const logRef = useRef(null)
return <Tooltip ref={logRef} text="Example"><Button>Button text</Button></Tooltip>
And this shows the tooltip but never calls the log (#8373):
const logRef = useCallback(element => console.log(element), [])
return <Tooltip text="Example"><Button ref={logRef}>Button text</Button></Tooltip>
Version
v38.37.0
Browser
No response
- Vorherrschende Sprache
- TypeScript
- Sterne
- 3.9k
- Forks
- 697
- Ø Merge
- 3 T. 21 Std.
- Gemergte PRs (30 T.)
- 51
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus primer/react
-
MCP: get_component_examples and get_component_accessibility_guidelines still use the component id instead of the slug (home page returned for multi-word components)Evtl. vergeben @bindu-yogesh hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
primer/react#8561 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
PageHeader.Title does not seem to accept id propEvtl. vergeben @TylerJDev hat das vor 5 Tagen übernommen. Offencomponent: PageHeader react staff
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
primer/react#8474 · 1 Kommentar · 1 Reaktion · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 2 Tagen
-
The padding prop seems to have no effect with PageLayout.SidebarEvtl. vergeben @minwookshin hat das vor 16 Tagen übernommen. Offencomponent: PageLayout react staff
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
primer/react#8470 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug component: Spinner react
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
primer/react#8423 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Low contrast in SelectOffenwaiting for author response
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
primer/react#8172 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
polarsource/polar#15580 ·
Maintainer antworten meist innerhalb von 1 Tag
-
accepted bug via-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 69/100
pingdotgg/t3code#20931 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug/1-unconfirmed kind/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 83/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
ranxianglei/billion-context#3583 ·
Maintainer antworten meist innerhalb von 1 Tag