Ну это не глупость?
Посмотрите на исходный код...
Функция dispatch будет возвращать ссылку на саму async функцию и в await перед dispatch'ем нет ни какого смысла.
Actions must be plain objects. Use custom middleware for async actions.
мы ведь говорим о недостатках родных классов
И кивать на договоренности 20-летней давности относительно языка, написанного для легкого кода в условиях, когда требуются инструменты для написания сложного кода - так себе аргумент.
А если это тот редкий случай, когда пишется действительно сложный фронт?
class SomeComponent extends Component {
}
но вы ведь необходимость интерфейсов в ошибку проектирования не станете записывать? Или станете?
использование интерфейсов
использование приватных свойств
множественное наследование
и иметь интерфейс:
<DatePicker name="date" value={date} />
Для чекбоксов если имена неизвестны придется писать отдельный handler:
xor - удобный хелпер из lodash.