reactjs - 如何将数组数据推送到对象上?
问题描述
我正在尝试将我的 newState 数据添加到我的 databaseChanges 数据的末尾。但是我收到此错误:
TypeError:传播不可迭代实例的无效尝试
export default connect(mapStateToProps, mapDispatch)(HomeScreen);
const addToProduction = ({target}, {id, databases}) => {
const databaseChanges = props.unitTestsData.map((test) => {
return {
unit_test_id: test.id,
databases: test.databases,
};
});
setDatabaseArr((previousState) => {
let newState = [...previousState];
if (target.checked) {
newState = [...newState, {unit_test_id: id, databases}];
} else {
const i = newState.findIndex(({unit_test_id}) => unit_test_id === id);
if (i !== -1) newState.splice(i, 1);
}
return databaseChanges.push(newState);
});
};
return (
<div>
<Checkbox
mainColor
changeHandler={(e) => addToProduction(e, test)}
data={{}}
id={test.id.toString()}
/>
</div>
);
解决方案
可能“previousState”的初始状态不是[]
类似null
或''
推荐阅读
- html - Mat-tree 水平滚动。如何添加它?
- css - 通过打字稿更改按钮单击时的svg颜色
- angularjs - ng-repeat 的每个元素的特定颜色
- mysql - 如何在变量中设置MySQL参数多个值
- authentication - 我可以使用 OAuth 对受信任的客户端(移动应用程序)进行身份验证吗?
- angular - 如何检查任何模型属性是否为空?
- java - 为什么不支持不同返回类型的重载
- mysql - TYPO3 9 LTS 类型转换错误在 mysql 时间字段上用于 TCA 类型输入/dbType 节省时间的空字段
- javascript - 如何在代码(node.js)中处理“进程内存不足后返回的 API 致命错误处理程序”?
- javascript - 在执行上下文的创建阶段如何加载 javascript 对象和 javascript 函数?