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

105
Vistas
Reprocesamiento de componentes anidados de React y reconciliación de React

Tengo dificultades para comprender cómo funciona la reconciliación cuando se trata de componentes de reacción anidados. A continuación se muestra mi código para index.js

 import React from "react"; import { render } from "react-dom"; import { useState, useEffect } from "react"; const TodoList = ({ todos }) => { useEffect(() => { console.log("mounted List") return () => { console.log("unmounted List") } }, []) const Todo = ({ txt }) => { useEffect(() => { console.log("mounted Todo") return () => { console.log("unmounted Todo") } }, []) return ( <li> {txt} </li> ); }; return todos.map(todo => <Todo {...todo} />); }; const App = () => { const [todos, setIt] = useState([{ txt: "foo" }, { txt: "bar" }, { txt: "baz" }]) return ( <> <button onClick={() => setIt(todos.concat({ txt: 'new' }))}>Click</button> <TodoList todos={todos} /> </>) } render(<App />, document.getElementById("root"));

A continuación se muestra index.html

 <div id="root"></div>

La parte que me confunde es por qué todas las instancias de reacción se siguen desmontando y volviendo a montar cada vez que hago clic en el botón. Tengo entendido que el "tipo" de las instancias de reacción no es el mismo porque definimos el componente Todo localmente dentro del componente TodoList. Debido a esto, básicamente estamos creando un nuevo componente Todo cada vez que se vuelve a renderizar. Sin embargo, siento que mi explicación es una respuesta de muy alto nivel (Además, ni siquiera estoy seguro de si estoy en lo correcto) y no estoy seguro de los detalles de implementación de nivel inferior sobre cómo el reconciliador de reacción maneja las distinciones entre el "tipo" de instancias de reacción cuando tenemos componentes anidados frente a no anidados. (Estoy usando el término "anidado" y "no anidado" en el sentido de definir un componente de reacción dentro de otro componente de reacción como en el ejemplo que di).

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

0

El componente Todo está desmontado porque TodoList se vuelve a renderizar cuando se cambia el estado. Si mantiene su componente Todo fuera del componente TodoList, no se desmontará una vez que cambie el estado.

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