以下是一段运行良好的代码,但我有一个疑问 - const _detail = detail;map 方法中的代码。在这里您可以看到我正在迭代一个数组并修改对象,然后将其设置为setState().
代码块 -
checkInvoiceData = (isUploaded, data) => {
if (isUploaded) {
const { invoiceData } = this.state;
invoiceData.map(invoiceItem => {
if (invoiceItem.number === data.savedNumber) {
invoiceItem.details.map(detail => {
const _detail = detail;
if (_detail.tagNumber === data.tagNumber) {
_detail.id = data.id;
}
return _detail;
});
}
return invoiceItem;
});
state.invoiceData = invoiceData;
}
this.setState(state);
};
这种方法在React世界上是否可行,或者我应该做类似的事情 -
const modifiedInvoiceData = invoiceData.map(invoiceItem => {
......
code
......
})
this.setState({invoiceData: modifiedInvoiceData});
每种方法的优缺点是什么?在采用其中一种方法时我需要牢记哪种情况?
犯罪嫌疑人X
翻过高山走不出你
相关分类