DEV Community

Collapse
 
sroehrl profile image
neoan

This solves a problem we should not have. This is the JavaScript ecosystem in all it's insanity! Think about it: the first step was moving from imperative to declarative syntax (remember AngularJS 1.x).
Then we violated separation of controller and view by building component based, making it necessary to compile a interpreted language into another version of itself !? Eventually React came along and for no good reason whatsoever - I cannot stress this enough: without facebook behind it nobody would have picked it up - it took the lead over way more superior solutions. So now we have tools that completely abolish markup to overcome the insanity of JSX we should have never dealt with in the first place. Why don't we solve the actual problem instead of providing tools as band-aids. Meanwhile we have built so many layers that we need a multiple of the computing power that brought us to the moon just to have our webpack deal with the billions of packages we through at it to whip up the most basic React hello world.

Collapse
 
aneudysamparo profile image
Aneudys Amparo

My hate to React JS is JSX, remember those time when people judge PHP because view a business logic was in same file. Now we have it with React, there are not official architecture or folder structure on how it must be organized. Many of them came from Angular. Another comes with Styled-component: don't get me wrong, they are cool' but more sh*ts.

Collapse
 
sroehrl profile image
neoan

Indeed, that's the problem. I have seen clean React code. But sadly, it's the exception. If the lib/framework doesn't force developers into a structure, it easily becomes a unmaintainable catastrophe. There is a reason why "opinionated" has a positive connotation when it comes to coding.

Collapse
 
seanmclem profile image
Seanmclem

I really like jsx.

Collapse
 
chrisczopp profile image
chris-czopp

In my view it works well when writing a function component that doesn't contain conditional logic (especially nested). Then, instead of HTMLish it becomes hard to read due to overused logical and ternary operators. If you want to use if statements, it becomes a mix of HTML and JavaScript and it doesn't look like a markup language anymore.

Thread Thread
 
sroehrl profile image
neoan

Agreed! The most common tasks any templating must fulfill is conditional rendering and iteration. Both aren't solved well in JSX.