我有一组复杂的组件,在一些数组中有许多内部部件。点击我需要创建一个新的并在数组中设置。但是为了处理它的复杂性,单个复杂组件,我想在组件创建上为每个组件创建自己的"上下文",或者类似的东西来处理其本地属性钻取问题。我不需要redux,因为它对所有组件都是全局的。
让我来回答一下,指出你可能有几个潜在的误解。
您提到了local property drill problems
下面是prop drilling
是什么的解释,没有local prop drill
这样的东西。每当您提到您有prop drill
问题时,您通常会涉及许多组件
props钻取是React应用中的一个过程,通过不需要数据的其他部分将props从树的一部分传递到另一部分,而这些部分只帮助将数据传递到树
你可能有的第二个误解
我不需要redux,因为它对所有组件都是全局的。
是的,Redux
或React Context
对所有组件都是全局可用的,但默认情况下redux
无法访问它们。默认情况下,所有组件都没有对redux store
的默认访问权限,为了访问存储,您将需要connect
或一些钩子来访问存储。
从以上两个误解中,我希望你能理解你想要解决的问题
我似乎找到了解决办法。因此,当我创建具有嵌套结构的组件时,我只需要一个全局上下文或Redux。在Redux/Context中,我存储复杂组件的数组/模型集/对象,而不是组件本身。当我同时创建新的复杂组件时,我们用它的id创建了复杂组件的模型。每个复杂的组件都通过id到达它的模型。它是全局的,但我们通过id找到一个模型,所以它同时是局部的。……