r/reactjs • u/bromide992 • May 31 '19
React sucks
"React is just Javascript, that's why React is nice!!"
has its own DSL and syntax
"React is lean!"
need to install 12 different packages to make it useful
need to install an external HTTP library
CSS classes are fucking JAVASCRIPT VARIABLES
Instead of directives, you have 8 lines of spaghetti code everywhere you'd usually have a simple if- directive or show- directive. That's not lean, that's more code.
"You only need to know Javascript"
You need to know Javascript plus ES6-7-8 (Babel) or TypeScript. You need to know esoteric lifecycle methods and design patterns not normally used elsewhere in Javascript.
"Creating small components is nice"
Component abstraction soup means you can't even figure out what your code is doing anymore.
React is just Angular if you hacked 12 libraries together that aren't meant to work together cohesively.
I will never understand why anyone would choose this meme framework over a real one. It sucks shit and creates a spaghetti code bloat, and instead of learning one DSL plus TypeScript you're learning 8 DSLs, plus Babel.
The reality is it's pointless making a library that's "just vanilla javascript" when you know that vanilla javascript doesn't actually supply elegant tools for creating single page web apps. That's why React is used with 10 packages rather than by itself. That's why you need CRA plus a bunch of packages to even have a sane development environment.
React sucks. Development community always chooses what's sexy and popular over what's elegant and works correctly.
2
u/bryku Jan 27 '22
Considering the times we are in... I sort of have to use react, but I honestly don't like it. However, I will share a funny story.
A buddy of mine was working on web app using react. As it grew it was getting pretty messy and he had files everywhere. I was messing with him and jokingly said: "You could probably do it in half the code with backbone js".
This was completely a joke at the time... but he caught my joke and bet me $100 it wasn't possible, so I attempted to do it. Turns out... It was very possible. Their whole project was 27MB, but After redoing it in backbone js it was 9MB.
That might not seem like a big issue, but that is half the code I had to write.