Статья имеет некоторые важные моменты. Я хотел бы обозначить здесь пару моментов

но как только вы начинаете работать с другими инженерами или над кодовой базой со многими компонентами

Классы IMO ES6 на самом деле менее волшебны

В вашем примере у вас действительно есть 1 функция, которая делает что-то полезное — setState. Без него большинство линтеров рекомендовали бы вам писать компонент как чистую функцию. setState в этом случае можно перевести во внешнюю функцию или более функциональный подход с помощью recompose или ramda. Преимущество будет особенно легко увидеть на больших базах кода.

Это простота разработчика? Чтение примеров кода выше

В большинстве случаев вышеприведенный код для определения классов будет определен выше только один раз с помощью babel-external-helpers. Вам действительно нужно иметь цель ES5 babel для поддержки IE 11. В других браузерах уже есть классы ES6.

В то же время синтаксис класса в реакции позволил упростить интеграцию компонентов Flow, Typescript, Functional и HOC.