Tengo un conjunto de componentes complejos con muchas partes internas en alguna matriz. Al hacer clic, necesito crear uno nuevo y configurarlo en la matriz. Pero para lidiar con su complejidad, el único componente complejo, quería crear para cada uno su propio 'Contexto' en la creación del componente o algo similar para lidiar con sus problemas de exploración de propiedades locales. No necesito redux porque es global para todos los componentes.
Permítanme responder para señalar un par de posibles conceptos erróneos que podría tener.
Usted mencionó acerca de local property drill problems
A continuación se muestra la explicación de lo que es la prop drilling , no existe tal cosa como local prop drill . Cada vez que mencione que tiene un problema con prop drill , generalmente tendrá muchos componentes involucrados
La perforación de accesorios es el proceso en una aplicación React donde los accesorios se pasan de una parte de un árbol a otra al pasar por otras partes que no necesitan los datos, pero solo ayudan a pasarlos a través del árbol.
Segunda idea errónea que podrías tener
No necesito redux porque es global para todos los componentes.
Sí, Redux o React Context están disponibles globalmente para todos los componentes, pero Redux no puede acceder a redux de forma predeterminada. Todos los componentes no tienen acceso predeterminado a la redux store de forma predeterminada, para acceder a la tienda, necesitará connect o algunos ganchos para acceder a la tienda.
De los dos conceptos erróneos anteriores, espero que comprenda el problema que está tratando de resolver
Parece que he encontrado una solución. Entonces, cuando creo un componente con una estructura muy anidada, solo necesito un Contexto global o Redux. En Redux/Context almaceno matriz/conjunto de modelos/objeto del componente complejo, no del componente en sí. Cuando creo el nuevo componente complejo en el mismo momento creamos el modelo del componente complejo con su id. Y cada componente de este complejo llega a su modelo por el id. Es global, pero encontramos un modelo por id, por lo que al mismo tiempo es algo local. Algo como eso...