in StrictMode, getContainer has side effect, duplicated div will be attached to Dom, please fix it.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- react, typescript
- Ambito
- frontend
Direzione di ricerca
Parti dall'entry point getContainer e dall'utilizzo di PortalComponent mostrato nell'issue, quindi riproduci il comportamento in React StrictMode con un popup di sviluppo. Verifica che l'apertura e la chiusura ripetute del popup lascino nel DOM solo il container previsto e non creino elementi div orfani.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.

- Lingua principale
- TypeScript
- Stelle
- 391
- Fork
- 245
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di react-component/trigger
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
react-component/trigger#593 · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
react-component/trigger#623 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
react-component/trigger#618 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
react-component/trigger#555 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
react-component/trigger#550 · 1 commento ·
Tutte le issue di react-component/trigger
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
dennys-bd/agent-hive#184 ·
-
Add: hunch Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
AbdelStark/awesome-typesafe#104 ·
-
ai-observability bug team/ai-observability
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
vicharanashala/fln#563 ·