Estoy trabajando en una aplicación de reacción simple que rápidamente se vuelve inmanejable debido a la filosofía de "subir de estado". En la aplicación, hay una serie de campos anidados en los que el usuario ingresa todo tipo de datos: cadenas, cuadrículas de píxeles, etc. Cada campo es un componente.
Luego, cuando el usuario haya terminado, puede exportar su trabajo en formato JSON. Debido a esto, el elemento principal técnicamente necesita acceso al estado de todos los elementos secundarios, por lo que moví el estado de cada uno de los campos (anidados) hasta el componente principal. Pero esto se vuelve enormemente difícil de manejar: todas las funciones para modificar el estado se concentran en la clase principal y abunda la perforación de accesorios. Este no es un formulario simple y antiguo: el usuario está creando un documento completo, con subsecciones anidadas, por lo que el estado y todas las funciones que lo modifican son bastante complejos.
Aquí está la cuestión: el componente principal no necesita el estado de los elementos secundarios hasta que se hace clic en el botón de exportación, y todo lo que necesita hacer es leerlo. Por lo tanto, uno podría imaginar una solución diferente: almacenar el estado en el componente secundario relevante hasta la exportación, y luego, la función principal podría recopilar los estados de todos sus elementos secundarios en un archivo JSON y exportar. Esto parece una solución mucho más elegante.
¿Hay una forma reactiva de hacer esto, es decir, almacenar el estado en los niños, pero enviarlo al padre cuando lo solicite?