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

124
Vistas
¿Por qué mi componente secundario de React no se vuelve a renderizar?

Estoy desarrollando una aplicación web similar a una consola. Cuando el usuario ingresa algo, se agrega un componente en un elemento childrens que es un apoyo de un componente <ConsoleOutput> ; por ejemplo, cuando el usuario ingresa 'lista de salas de chat', se crea un componente <ChatroomList> :

 const [childrens, setChildrens] = useState([]); /* Switch that analizes input */ case 'chatrooms list': setChildrens(childrens => { return ( [...childrens, <ChatroomList chatrooms={chatrooms} />] ); }); break;

Entonces en la aplicación devuelvo esto:

 return ( <div className='container-fluid'> <Header /> <ConsoleOutput childrens={childrens} /> <CommandInput onSubmit={processCommand} /> </div> );

Esto está funcionando muy bien, los componentes se agregan correctamente en la entrada y se reflejan en la pantalla (se vuelve a renderizar en el cambio); la cuestión es que estos childrens no se vuelven a renderizar con el cambio, por ejemplo, <ChatroomList> que toma un accesorio de chatrooms de chat.

Este accesorio se actualiza constantemente con un gancho useEffect:

 useEffect(() => { const getChatrooms = async () => { const response = await fetchChatrooms(); if (response.success) { const serverChatrooms = response.chatrooms; setChatrooms(serverChatrooms); } } getChatrooms(); }, [chatrooms]);

Entonces, si el usuario ingresa la chatrooms list , este componente <ChatroomList> se crea y se muestra en la pantalla, pero si la propiedad de las chatrooms de chat cambia, tengo que crear nuevamente el componente o volver a cargar la página para ver los cambios.

Sospecho que esto se debe a que este componente es un componente secundario de <ConsoleOutput> , pero no estoy seguro.

about 4 years ago · Juan Pablo Isaza
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