Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs (React API)在给定钩子和循环规则的情况下,如何从上下文数组中收集数据?_Reactjs_React Context - Fatal编程技术网

Reactjs (React API)在给定钩子和循环规则的情况下,如何从上下文数组中收集数据?

Reactjs (React API)在给定钩子和循环规则的情况下,如何从上下文数组中收集数据?,reactjs,react-context,Reactjs,React Context,这是一个关于和循环的问题 我有一个ContextctxArray数组和一个简单的hookuseCustomContext=(idx:number)=>useContext(ctxArray[idx]) 这对我想做的很有效 我之所以有一个上下文数组,是因为我的页面有动态数量的相同组件,每个组件都有大量数据和嵌套组件(因此使用上下文是有意义的)。我无法更改组件(遗留代码,开发时间有限) 为了提高性能,我没有使用一个巨大的上下文,而是将其拆分为多个上下文。它还提高了代码的清晰度 但是现在我需要从我的c

这是一个关于和循环的问题

我有一个Context
ctxArray
数组和一个简单的hook
useCustomContext=(idx:number)=>useContext(ctxArray[idx])
这对我想做的很有效

我之所以有一个上下文数组,是因为我的页面有动态数量的相同组件,每个组件都有大量数据和嵌套组件(因此使用上下文是有意义的)。我无法更改组件(遗留代码,开发时间有限)

为了提高性能,我没有使用一个巨大的上下文,而是将其拆分为多个上下文。它还提高了代码的清晰度

但是现在我需要从我的
ctxArray
收集数据,我不知道怎么做,因为根据hook规则,我不能在循环中使用hook

即使我要编写一个自定义钩子,这也不会改变问题,因为循环仍然存在


有什么想法吗?

需要解释一下为什么需要一系列上下文。这不是React应用程序应该如何编写的。我已经添加了一个页面,其中包含大量相同的组件。该组件有许多具有重要深度的字段,因此在这里使用上下文是合适的。出于这个问题的考虑,假设由于我无法控制的原因(遗留代码和有限的时间),我无法更改此组件