在我的reactcomponent中,我有一个称为events的prop(array)。但是我想重新分配这样的值:
events.map(event => {
event.createdDateTimeConverted = dateFunctions.formatDate(
event.createdDateTime,
'hh:mm A, DD MMM YYYY'
);
event.assignedDateTime = dateFunctions.formatDate(
event.assignedDateTime,
'hh:mm A, DD MMM YYYY'
);
event.dueDateTime = dateFunctions.formatDate(
event.dueDateTime,
'hh:mm A, DD MMM YYYY'
);
}
代码可以正常运行,这不是问题,但是由于存在错误/更漂亮的错误,我必须重构:
Assignment to property of function parameter 'event'
为什么会出现此错误,我该如何解决?
答案 0 :(得分:1)
您可以在文件顶部添加/* eslint-disable no-param-reassign */
。
或使用
events.map(ev => {
let event = ev;
event.createdDateTimeConverted = dateFunctions.formatDate(
event.createdDateTime,
'hh:mm A, DD MMM YYYY'
);
event.assignedDateTime = dateFunctions.formatDate(
event.assignedDateTime,
'hh:mm A, DD MMM YYYY'
);
event.dueDateTime = dateFunctions.formatDate(
event.dueDateTime,
'hh:mm A, DD MMM YYYY'
);
}
有关此错误的更多信息。您可以转到此source
答案 1 :(得分:1)
输入后,您将立即更改event
。
尝试一下:
events.map(e => {
var event = e;
event.createdDateTimeConverted = dateFunctions.formatDate(
event.createdDateTime,
'hh:mm A, DD MMM YYYY'
);
event.assignedDateTime = dateFunctions.formatDate(
event.assignedDateTime,
'hh:mm A, DD MMM YYYY'
);
event.dueDateTime = dateFunctions.formatDate(
event.dueDateTime,
'hh:mm A, DD MMM YYYY'
);
}
希望有帮助