@alexx46

Как понять работу данной функции js? в нее передается несколько параметров или как?

к примеру:
removeItem = (id) => (e) => {
   //....
  };


Собственно как правильно объяснить работу этой функции? принимаем параметр id, далее вызов, ловим событие и далее опять вызов функции?
  • Вопрос задан
  • 113 просмотров
Решения вопроса 2
Robur
@Robur
Знаю больше чем это необходимо
понять можно вот так:

const func = (e) => {   //....  };
removeItem = (id) => func

const f1 = removeItem(1)
const f2 = removeItem(2)

f1(e)
f2(e)

removeItem получает id и возвращает func.
func можно, например вызывать, передав ей e.
и там внутри скорее всего замыкание (которого в моем примере нет) чтобы func могла получить доступ к id. f1 будет "помнить" что id=1, f2 будет "помнить" что id=2
Ответ написан
Hecc
@Hecc
Frontend. Дизайн. Шрифт.
Это называется High Order Function.

Это функция которая возвращает другую функцию как результат или использует ее как свой аргумент.
Если написать не стрелочными функциями, это будет выглядеть вот так:
function removeItem(id){
    return function(e){
        ...
    }
}


Ну, а использование у вас очень простое - возможность использования дополнительных параметров, в обработчике.
По стилю кода, могу предпложить, что это код из реакта и его использвание будет выглядеть примерно вот так:
render = () => {
    const { removeItem, id } = this.props;
    return(
        <button onClick={removeItem(id)}> Remove item </button>
    )
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 18:23
20000 руб./за проект
07 мая 2024, в 18:09
2000 руб./за проект
07 мая 2024, в 17:40
300 руб./за проект