@GeorgeKay

Что означает этот синтаксис handleChange = (name) => ({ target }) => {}?

handleChange = (name) => ({ target }) => {
    this.setState({ [name]: target.value });
  };

вот с этими двумя стрелками вообще не понятно
я понимаю это такое сокращение, но если написать развернуто как этот же код будет выглядить
  • Вопрос задан
  • 158 просмотров
Решения вопроса 2
Lynn
@Lynn
nginx, js, css
https://learn.javascript.ru/arrow-functions-basics

Функция возвращает функцию
Ответ написан
dollar
@dollar
Делай добро и бросай его в воду.
handleChange = (name) => ({ target }) => {
    this.setState({ [name]: target.value });
};

То же, что и:
handleChange = function(name) {
    return function({ target }) {
        this.setState({ [name]: target.value });
    };
};

Или так:
handleChange = function(name) {
    return function(obj) {
        this.setState({ [name]: obj.target.value });
    };
};
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kirillcka_markoff
handleChange возвращает функцию с изменением стейта.

используется скорее всего как то так:
<input onChange={() => handleChange('name')} />

в handleChange ты передаешь имя свойства в state во второй функции target инпута
Ответ написан
Ваш ответ на вопрос

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

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