【发布时间】:2020-03-12 16:46:21
【问题描述】:
我使用 react 并想创建一个项目数组,然后使用扩展运算符,但我无法设置它。
const [mediaArray, setMediaArray] = useState(null);
const [newArray, setNewArray] = useState([]);
const handleNewSet = index => {
setNewArray([...newArray[index], '']);
mediaArray[index] = {
...mediaArray[index],
['sets']: [...newArray[index], ''],
};
};
得到错误:TypeError: Invalid attempt to spread non-iterable instance
我有一个按钮,它将从newArray 添加额外的集合数组到mediaArray。但是因为我试图遍历mediaArray,所以我想确保正确的sets 进入正确的mediaArray。我希望这是有道理的
所以我最终会有 1 组 mediaArray 和 1 组集
mediaArray = {
sets: ['data1', 'data2', ...] //this will be from a specific index of the newArray
}
另一个带有另一组集合的 mediaArray
mediaArray = {
sets: ['bb1', 'bb2', bb3, ...] //this will be from a specific index of the newArray
}
等等……
最终我想要newArray:
newArray = [['data1','data2', ...], [bb1, bb2, bb3, ...], [aa2, aa5, ...], [...]]
【问题讨论】:
-
很抱歉,我很难理解,您能否为您的变量显示所需的数据类型?这应该会缓解一点。
标签: javascript reactjs react-native react-hooks use-state