Estoy creando una aplicación web que requiere que varias piezas de estado se almacenen en contexto, ya que se requieren globalmente. Para esto, estoy usando la API React Context (en lugar de Redux).
Tengo una carpeta de almacenamiento que es hermana de mi carpeta de componentes , dentro de la cual actualmente tengo un archivo que almacena mi estado loggedIn de sesión. Ahora estoy en la posición en la que quiero agregar elementos adicionales de contexto (idioma actual, XP del usuario, etc.).
¿Cuál es la mejor práctica para almacenar estos elementos?
loggedIn de sesión y utilizaría el mismo proveedor, usando un reductor para actualizar selectivamente el estado.¿Cuáles son las ventajas y desventajas de cada enfoque?
( Si esta no es una pregunta apropiada para Stack Overflow, avíseme y la eliminaré )
Tenga en cuenta que cada vez que cambia el valor de un contexto, todos los componentes que consumen ese contexto deben volver a procesarse. Entonces, si tiene un solo contexto monolítico, con un objeto grande como su valor, los cambios en una parte del objeto forzarán la representación de componentes que solo se preocupan por diferentes partes del objeto.
Por esa razón, tener un solo contexto puede ser un problema de rendimiento. Una forma de mitigar esto es dividirlo en contextos más pequeños, cada uno centrado en una sola área. Si ese valor de contexto más pequeño cambia, entonces los consumidores de ese contexto aún necesitarán volver a renderizar, pero eso probablemente sea lo deseado ya que es muy probable que esos componentes se preocupen por el cambio.