reactjs - 如何更改数组中对象中的数组?
问题描述
我将 React 与 material-ui 框架一起使用。在文档中,有一个用芯片选择的例子,它是用一个数组制作的。在那里,他们以这种方式在数组中删除和添加值:
const [personName, setPersonName] = React.useState([]);
const handleChange = event => {
setPersonName(event.target.value);
};
我需要做同样的事情,但修改数组中的对象内的数组,如下所示:
const [data, setData] = React.useState([{ someData: 'data', array: [1,2,3] }]);
const handleChange = event => {
setData(???);
};
我在这里找到了一个可能的解决方案,但它对我不起作用。先感谢您。
解决方案
您可以映射您的状态数组并在那里更新它
const [data, setData] = React.useState([{ someData: 'data', array: [1,2,3] }]);
const handleChange = event => {
setData(() => {
return data.map((item) => {
return {
...item,
array: [...item.array, event.target.value]
}
})
});
};
首先,您将遍历数组item
中的每一个,并通过修改其中的每个对象data
来返回一个新数组。data
item
推荐阅读
- r - 我无法添加此字体,我不明白是什么导致了我遇到的问题
- powershell - powershell 使用正则表达式过滤文件名
- javascript - 使用 React 和 Typescript 创建可重用的按钮组件,但出现不可分配的类型错误
- typescript - 如何在 Typescript 中测试泛型类型?不是泛型类型的实现,而是作为类型保护?
- reactjs - 为什么 react-native Animated View 不渲染?
- android - 在 Android Studio 中将音频字节 [] 数组编码为 Mp3
- typescript - 打字稿:另一个参数的键?
- vb.net - 使用 ForeignKeyConstraint 根据父数据表过滤子数据表
- c# - 如何将 json 解析为 C# 对象(类)?
- node.js - NodeJs 错误:未指定默认引擎且未提供扩展名 - 未使用 res.render