Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 11.8k
- Forks
- 7.9k
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 11
Descripción
I have the folowing part of code:
private rootRef = React.createRef<HTMLDivElement>();
const target = (
<div>
<Icon design='accepted' size='xl' />
</div>
);
return (
<React.Fragment>
{React.cloneElement(target, {
ref: this.rootRef,
onMouseOver: this.handleMouseOver,
onMouseLeave: this.handleMouseLeave,
})}
{open && this.renderTooltip()}
</React.Fragment>
);
When target with div element (or any other instead of div) everything is ok, but when target is:
const target = (
<Icon design='accepted' size='xl' />
);
I get error: Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?
Icon is a span element inside of which is svg.
I will be very appreciate for any help.
Guía de contribución
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.
Línea de trabajo
No se nombra ningún archivo del repositorio, prueba ni página de documentación. Empieza revisando el comportamiento de React.cloneElement y ref mostrado en la reproducción y, después, determina si alguna página existente de react.dev necesita una aclaración. El trabajo estaría terminado cuando haya un cambio de documentación claramente delimitado y una forma de verificar las indicaciones actualizadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, react
- Área
- documentation
- Tipo de issue
- Documentación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100