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;
      })
    })
  }
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
Decadal
@Decadal
Вам в функцию deleteTask передают id таски при удалении, а не объект таски. TaskId это просто имя параметра функции.
Вероятно когда вы говорите что в task есть айди, смотрите в другой скоуп - на самом деле на момент работы функции передаётся все равно число (в месте вызова функции), и от того что вы переназвали параметр на task, туда не стал приходить обьект, а по прежнему приходит число
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы