in StrictMode, getContainer has side effect, duplicated div will be attached to Dom, please fix it.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Comienza en el punto de entrada getContainer y en el uso de PortalComponent mostrado en el issue; después, reproduce el comportamiento en React StrictMode con un popup de desarrollo. Verifica que abrir y cerrar el popup repetidamente deje solo el contenedor previsto en el DOM y no cree elementos div huérfanos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.

- Lenguaje dominante
- TypeScript
- Estrellas
- 391
- Forks
- 245
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de react-component/trigger
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
react-component/trigger#593 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
react-component/trigger#623 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
react-component/trigger#618 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
react-component/trigger#555 ·
-
points: ['cc', 'cc'] 无法自适应调整位置 Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
react-component/trigger#550 · 1 comentario ·
Todos los issues de react-component/trigger
Issues similares
-
[Bug]: Discord Activity titles with emoji are rejected as over 80 characters when they are not Abiertoclawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
supermomonga/zcode-acp#24 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
growthbook/growthbook#7100 ·
-
triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100