Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

173
Vistas
¿Por qué reacciona volviendo a renderizar/actualizando todos los componentes en la página?

Tengo una aplicación de reacción que usa Material UI v5. No tengo ningún estilo y estoy usando el componente TextField predeterminado para probar el problema de representación. En mi página, solo tengo Typography , Breadcrumb , IconButton y TextField . Para replicar el problema, he puesto un TextField controlado y otros seis TextFields no controlados. Cuando empiezo a escribir en el TextField controlado, todos los componentes dentro de la página comienzan a volver a renderizarse. Y si empiezo a escribir mucho/más rápido, a veces se congela o toma un tiempo (como 500-1000ms) para mostrar el texto dentro de TextField. Básicamente se congela por un segundo o medio.

Aquí hay una demostración replicada de lo que tengo. Mi proyecto real también está usando create-react-app. Tengo lo mismo en mi aplicación de reacción y renderiza todo. Aquí hay un enlace a una instantánea tomada. Utilicé la opción "Resaltar actualizaciones cuando se procesan los componentes" de los perfiladores de herramientas de desarrollador de reacción.

Detalles de mi entorno:

 System: OS: Windows 10 10.0.19043 Binaries: Node: 14.17.4 - C:\Program Files\nodejs\node.EXE Yarn: 1.22.11 - ~\AppData\Roaming\npm\yarn.CMD npm: 7.20.3 - C:\Program Files\nodejs\npm.CMD Browsers: Chrome: Not Found Edge: Spartan (44.19041.1023.0), Chromium (93.0.961.52) npmPackages: @emotion/react: ^11.4.1 => 11.4.1 @emotion/styled: ^11.3.0 => 11.3.0 @mui/core: 5.0.0-alpha.47 @mui/icons-material: ^5.0.0 => 5.0.0 @mui/lab: ^5.0.0-alpha.47 => 5.0.0-alpha.47 @mui/material: ^5.0.0 => 5.0.0 @mui/private-theming: 5.0.0 @mui/styled-engine: 5.0.0 @mui/styled-engine-sc: ^5.0.0 => 5.0.0 @mui/styles: ^5.0.0 => 5.0.0 @mui/system: 5.0.0 @mui/types: 7.0.0 @mui/utils: 5.0.0 @types/react: 17.0.22 react: ^17.0.2 => 17.0.2 react-dom: ^17.0.2 => 17.0.2 styled-components: ^5.3.1 => 5.3.1

¿Es este el comportamiento de reacción? ¿Puedo dejar de volver a renderizar/actualizar todos los componentes cuando un componente actualiza su estado?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Los componentes de React se fabrican utilizando una regla llamada descomposición. Cada componente puede tener un padre y un hijo (si no solo) y puede modelarse como se muestra en esta imagen. Reaccionar árbol de componentes

Cuando el estado se actualiza en el componente principal, para actualizar la pantalla, este componente se representa y también todos los componentes secundarios se representan en él.

si desea evitar este comportamiento en un componente de clase, debe usar shouldComponentUpdate, puede leer su documento aquí y si desea manejarlo en un componente funcional, puede usar useMemo hook, y puede leer su documento aquí

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda