AlexFo90
@AlexFo90

Почему можно написать в параметре функции id без точки?

Добрый день уважаемые знатоки, подскажите пожалуйста: Вот есть функция
deleteTask= task => {
    this.setState({
      tasks: this.state.tasks.filter((item) => {
        return item.id !== task.id;
      })
    })
  }

вот так не работает, хотя в task-е есть id, и он приходит всё проверено, но не удаляет, а ниже функция работает как надо, но в параметре передано taskId без точки!!!! не могу нагуглить почему так работает, React сам что-ли ставит точку? И почему может первое решение не работать? в чем между ними разница? Заранее спасибо!

deleteTask= taskId => {
    this.setState({
      tasks: this.state.tasks.filter((item) => {
        return item.id !== taskId;
      })
    })
  }
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
Decadal
@Decadal
Вам в функцию deleteTask передают id таски при удалении, а не объект таски. TaskId это просто имя параметра функции.
Вероятно когда вы говорите что в task есть айди, смотрите в другой скоуп - на самом деле на момент работы функции передаётся все равно число (в месте вызова функции), и от того что вы переназвали параметр на task, туда не стал приходить обьект, а по прежнему приходит число
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект