Отсутствует тип возвращаемого значения в array.map - PullRequest
0 голосов
/ 15 мая 2019

Я получил предупреждение Eslint в следующем коде TypeScript:

«Отсутствует тип возвращаемого значения в function.eslint (@ typescript-eslint /licit-function-return-type)» Предупреждение указывает на лямбду в функции карты.

private headerSelectionChanged(event): void {
    const { checked } = event.syntheticEvent.target;
    const newGridData = this.props.gridData.map(item => Object.assign(item, { selected: checked }));
    this.updateGridData(newGridData);
}

Что не так? Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Предупреждение появляется, потому что ваша функция отображения не указывает тип возврата.Вы должны указать тип возвращаемого значения следующим образом:

const newGridData = this.props.gridData.map((item): any => Object.assign(item, { selected: checked }));

Имейте в виду, что Object.assign изменяет цель вместо ее копирования.Если вы не хотите, чтобы this.props.gridData был изменен, вы должны поменять местами item и { selected: checked }

const newGridData = this.props.gridData.map((item): any => Object.assign({ selected: checked }, item));

или использовать более новый оператор распространения объекта , если доступен:

const newGridData = this.props.gridData.map((item): any => ({ ...item, selected: checked }));
0 голосов
/ 15 мая 2019

попробуйте добавить такие типы, как:

private headerSelectionChanged(event: any): void {
const { checked } = event.syntheticEvent.target;
const newGridData = this.props.gridData.map((item: any) => Object.assign(item, { selected: checked }));
this.updateGridData(newGridData);

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...