in StrictMode, getContainer has side effect, duplicated div will be attached to Dom, please fix it.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- react, typescript
- Bereich
- frontend
Rechercherichtung
Beginne am getContainer-Einstiegspunkt und bei der im Issue gezeigten Verwendung von PortalComponent; reproduziere dann das Verhalten in React StrictMode mit einem Entwicklungs-Popup. Überprüfe, dass wiederholtes Öffnen und Schließen des Popups nur den vorgesehenen Container im DOM zurücklässt und keine verwaisten div-Elemente erzeugt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
let see the code bellow. In strict mode and dev environment, getContainer will be called twice, so double div will be attached to Dom, if we enable autoDestory, only one div will be removed after popup closed. That means every popup open and close will lead to one orphaned div, we may have multi divs in dom if we open and close popup muti times.
getContainer = () => {
const { getDocument } = this.props;
const popupContainer = getDocument(this.getRootDomNode()).createElement(
'div',
);
// Make sure default popup container will never cause scrollbar appearing
// https://github.com/react-component/trigger/issues/41
popupContainer.style.position = 'absolute';
popupContainer.style.top = '0';
popupContainer.style.left = '0';
popupContainer.style.width = '100%';
this.attachParent(popupContainer);
return popupContainer;
};
if (popupVisible || this.popupRef.current || forceRender) {
portal = (
<PortalComponent
key="portal"
getContainer={this.getContainer}
didUpdate={this.handlePortalUpdate}
>
{this.getComponent()}
</PortalComponent>
);
}
here give a screenshot.

- Vorherrschende Sprache
- TypeScript
- Sterne
- 391
- Forks
- 245
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
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 react-component/trigger
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
react-component/trigger#593 · 1 Reaktion ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 58/100
react-component/trigger#623 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 65/100
react-component/trigger#618 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
react-component/trigger#555 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
react-component/trigger#550 · 1 Kommentar ·
Alle Issues in react-component/trigger
Ähnliche Issues
-
Mend: dependency security vulnerability untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
opensearch-project/security-dashboards-plugin#2545 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add: Dream TR SDOffencheck:passed streams:add
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
doctor integrity sample scans soft-deleted pages on Postgres (batch path has no deleted_at filter)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
SocialGouv/egapro#4672 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
area:agents area:tui bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
anthropics/claude-code#98358 ·
Maintainer antworten meist innerhalb von 1 Tag