为什么会收到“函数参数..属性的赋值”错误提示?

时间:2019-01-20 05:59:53

标签: reactjs eslint prettier

在我的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'

为什么会出现此错误,我该如何解决?

2 个答案:

答案 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'
      );

}

希望有帮助