Reactjs 在运行时创建钩子数组

Reactjs 在运行时创建钩子数组,reactjs,Reactjs,有一件事看起来像这样: const [firstElem, setFirstElem] = useState(); const [secondElem, setSecondElem] = useState(); const [thirdElem, setThirdElem] = useState(); const elemArray = [firstElem, secondElem, thirdPhoto]; const setElemArray = [setFirstElem, setSec

有一件事看起来像这样:

const [firstElem, setFirstElem] = useState();
const [secondElem, setSecondElem] = useState();
const [thirdElem, setThirdElem] = useState();

const elemArray = [firstElem, secondElem, thirdPhoto];
const setElemArray = [setFirstElem, setSecondElem, setThirdElem];
它被称为:

setElemArray[2](newValue);

有没有一种方法可以动态创建这些钩子,或者使用另一种方法来支持任意数量的输入元素,而不仅仅是3个?为整个数组添加一个钩子会完全破坏性能。

不,不是这样:完全展开代码是为了从代码中挤出最后一点性能而通常要做的最后一步,而代码中没有任何东西是慢的。因此,如果您的目标是提高性能,那么您可能在调查完全错误的事情。是什么让你认为这是你的瓶颈?你可能想要一个单一的状态来控制所有“受控”输入,或者使用
useReducer
,无论哪种方式,你都必须向我们展示一个可生产的示例,说明你期望发生的事情。您好。你误会我了,让我解释一下。我不是在追求性能,我只是想增加对1000个元素的支持。写东西一直到“const[1000thElem,set1000thElem]=…”是愚蠢的,不是吗?我希望能够像
setElemArray[100](newValue)那样调用它因为改变它会使我像2000行代码一样到处改变。@HMR每个元素都有自己的set函数。我没有通过任何东西。