javascript - 推送反应状态数组
问题描述
我怎样才能写得更好,我想用 setState 而不是 this.state.floors.push 来做,因为我知道这是不好的做法,但我想不通。我使用本机反应。
FloorAPI.getFloorsByBuildingID(this.state.buildingID).then((response) => response.d.data.map((value) => {
console.log(value.floorName)
this.state.floors.push({value: value.floorName})
}))
解决方案
// Create a new array based on current state:
let floors = [...this.state.floors];
// Add item to it
floors.push({ value: floorName });
// Set state
this.setState({ floors });
推荐阅读
- asp.net-mvc-5 - ASP.Net MVC 5 动态添加字段到表单
- android - 尝试编译旧的 Android Native App 时出错
- python - 熊猫使用逻辑或公共列之间合并两个数据框
- ios - Cloud Storage 在启动时崩溃,找不到默认存储分区。斯威夫特 4 Xcode 9
- flutter - 如何实现 Scafold.of() 包装的“高效方式”
- r - 包中的年份::huxtable 表脚注默认为科学概念
- mysql - MySQL - 即使结果为 0,也返回列的 count()
- c++ - 新表达式的模板参数推导失败
- aem - 如何使用 QueryBuilder Api 检索资产的所有属性
- apache-kafka-streams - Kafka Stream 聚合期间的异常是什么意思?