Dima Lebedynskyi
Jul 25, 2017 · 1 min read

Article has some valid point. I’d like to outline couple of points here

but as soon as you’re working with other engineers, or on a codebase with many components

IMO ES6 classes is actually way less magical

In your example you really have 1 function that does something useful — setState. Without it most of linters would recommend you writing component as pure function. setState in this case can be moved to external function or more functional approach using recompose or ramda. Benefit will be especially easier to see on larger code bases.

Is it developer ease? Reading through the code examples above

In most cases code above for class definitions will be defined above only once with babel-external-helpers. You really need to have ES5 babel target for IE 11 support. Other browsers do have ES6 classes already.

At the same time class syntax in react allowed way easier integration of Flow, Typescript, Functional and HOC components.