Почему я получаю eslinterror «Присвоение свойству параметра функции ..»? - PullRequest
0 голосов
/ 20 января 2019

В моем реактивном компоненте у меня есть реквизит (массив), называемый событиями. Однако я хочу переназначить значения следующим образом:

 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'
          );
 }

Код работает нормально, но это не проблема, но мне нужно провести рефакторинг из-за ошибки eslint / prettier:

Assignment to property of function parameter 'event'

Почему я получаю эту ошибку и как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Вы меняете 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'
      );

}

Надеюсь, это поможет ?

0 голосов
/ 20 января 2019

Вы можете добавить /* 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'
      );

}

Для получения дополнительной информации об этой ошибке.Вы можете перейти к этому источнику

...