Прошу помочь понять некоторые вещи в коде, что они делают. Я закоментировал непонятные строки. Всего 5 строк кода)
this.setState(
{
data, shift: Object.keys(data)[0] // (1)
}, this.filter // (2)
);
};
onClick = ({
target: { //(3)
dataset: { shift }
}
}) => {
this.setState(() => ({ shift }), this.filter); // (4)
};
return (
{days.map((day, i) => (
<button
key={day}
onClick={() => this.loadDay(i)} // (5)
className={i === this.state.day ? "active" : ""}
>
{day}
</button>
))}
);
}
}
Вопросы:
1)
Object.keys(data)[0]
-это возвращает название первого свойства обьекта
data
в виде массива?
2) Почему в
setState
вторым параметром передается метод
filter
? что он делает в данный момент?
3) Зачем в метод
onClick
передан обьект
target
? И что он делает?
4) Опять же почему здесь снова вторым параметром передается метод
filter
?
5) Почему в атрибут
onClick
передают анонимную функцию
() => this.loadDay(i)
, а не просто метод
this.loadDay
?