Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

useMeasure dimensions out of sync in react18

Abierto
#2,522 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
react, typescript
Área
frontend

Línea de trabajo

Start by locating the useMeasure implementation and its ResizeObserver state update, then reproduce the React 18 timing issue using the linked CodeSandbox. Compare the behavior with React's flushSync guidance and define whether synchronization is always applied or exposed as opt-in; done means dimensions are reliable for visual updates and the behavior is covered by appropriate tests.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

React version: 18

Due to automatic batching in react18, state updates in useMeasure's ResizeObserver may be applied after paint. This can cause visual glitches if we depend on useMeasure dimensions for visual updates.

Same issue is raised in react: https://github.com/facebook/react/issues/24331

They are recommending that state updates in ResizeObserver should be wrapped in flushSync from ReactDOM.

Can we do this in useMeasure or at least add optional support for flushSync in useMeasure. So that consumers can opt-in if they are using the dimensions for visual update(For eg. in useLayoutEffect).

Link to code example: https://codesandbox.io/s/amazing-montalcini-j6lz46?file=/src/App.js

Lenguaje dominante
TypeScript
Estrellas
44k
Forks
3.3k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de streamich/react-use

Todos los issues de streamich/react-use

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.