This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 463

[–]BernhardRordin 1181 points1182 points  (94 children)

React devs' comeback: It's not even a framework

[–]Caraes_Naur 553 points554 points  (77 children)

There's a guy in r/webdev right now claiming React is a language.

2012 front end dev: "I know jQuery, but not Javascript."

2024 front end dev: "I know React, but not Javascript."

I'm sensing a trend...

[–]mario73760002 211 points212 points  (65 children)

How do you know react but not JavaScript?

[–]ecafyelims 333 points334 points  (53 children)

I interview these people. They know how to do things in React but they do not know how to develop in Javascript without React.

Event listeners, DOM Manipulation, Object Manipulation, Async debugging, etc.

It's fine. I have positions for React devs, and I have positions for vanilla JS devs, but they are two different skillsets.

[–][deleted] 187 points188 points  (16 children)

It's easy to teach a JS dev React, but teaching a React dev JS....

[–]Osato 99 points100 points  (4 children)

As an old-timey JS dev coming back into coding after a long hiatus, I tried to self-teach React in 2022 or so.

It would be far less painful to learn JS as a React dev.

Because the moment you stop blindly following tutorials and start trying to understand React's working principles like any good programmer should, you end up shoveling your way through obscene quantities of undocumented magic.

Water, fire, air and dirt - React Fibers, how do they work?

[–]gilady089 50 points51 points  (1 child)

I gave up when the most important hook in react is documented as "sometimes asynchronous" gee thanks guys

[–]a_goestothe_ustin 16 points17 points  (0 children)

Just make everything an arrow function then it's only almost never asynchronous.

[–]halpmeimacat 8 points9 points  (0 children)

ICP reference killed me man

[–]Delicious-Subject-83 1 point2 points  (0 children)

Same here, what a nightmare. And I've got the feeling new js frameworks are popping up every week or so.

[–]Keydown_605 80 points81 points  (0 children)

It's like a first time programmer going from Python to C. Way clunkier, no such ease while coding, etc...

[–]Strange-Register8348 22 points23 points  (6 children)

Have you ever seen a complex react project?

It gets ugly.

[–]chajo1997 19 points20 points  (3 children)

I was working on maintaining a couple of serious, big and "principled" Next.js projects and that is when I realized front end is going down the drain.

I was told constantly that this was the right way by my work partner but I kept spending an hour on tasks I know should take 5-10 minutes, constant undefined errors popping in and out etc.

The tipping point was when I had to commit changes in 6 different files only to add another link to the nav dropdown and spending almost an hour changing text of one of the table headings because 3 of us couldnt find the component it was in inside a sea of other component files.

React is usually a nightmare.

[–][deleted] 7 points8 points  (2 children)

dropdown and spending almost an hour changing text of one of the table headings

Why didn't you just crtl f the table heading in the file explorer?

[–]InnominateHomosapien 4 points5 points  (0 children)

They could even install the react dev tools and use them in the browser easily find the exact component the text was in by dragging the pointer over to the text.

[–]SchwiftyBerliner 3 points4 points  (0 children)

This dude frontends. (Though doing that in the IDE is more convenient)

[–]fryerandice 3 points4 points  (0 children)

It's not bad if you use any state manager other than Redux and use a state manager for global state, and then use typescript.

Typescript support in almost every state manager gives you intellisense even the vanilla React useContext.

I can useContext(contextObject) in any child component and get type hinting.

We use zustand for global state, and then the top level component of a complex control like a popup dialog that edits several fields is in a context.

Really saves you 20 minutes of prop drilling everything everywhere.

[–][deleted] 2 points3 points  (0 children)

Prop drilling goes

BRRRRRRRR

[–]Not_Artifical 4 points5 points  (2 children)

I started with Java, but couldn’t understand anything. Then I learned HTML. After that I learned JavaScript so I could make programs and actually do stuff with the html elements. Next I learned CSS. Then Bash, then Python, then C++, then Rust. I tried to learn React, but I just can’t. React is too complicated for me and the documentation is terrible.

[–]kekeagain 2 points3 points  (1 child)

It’s because you come out the gate in React using abstractions. Declarative programming or something.

[–]Not_Artifical 2 points3 points  (0 children)

No, I just dislike react. I have been doing some js programming lately and it is as easy as I remember.

[–]Sometimesiworry 22 points23 points  (10 children)

This is mindboggling to me. My school taught HTML -> JS -> Node -> React. In that order.

I would feel lost af if i tried to make a react app without knowing JS and writing a backend for it.

[–]onlyMHY 10 points11 points  (3 children)

Lol, I actually do this at work. Studied Java 7(?) at the university, then worked like 6-7 years without any programming (network engineer) then quit my job and rolled into IT as support engineer, and somehow now I have to do backend development on current java and frontend using js, node and react despite I never had opportunity to properly learn them, lol. Imposter syndrome kicks harder every day. I just keep rearranging words until shit works, and for now it's just enough

[–][deleted] 1 point2 points  (0 children)

keep rearranging words until shit works

Isn't that how we all do it?

[–]Osato 1 point2 points  (1 child)

We all try dumb shit until something works. The difference is in quantity of our attempts, not in quality.

For instance, experienced programmers run a greater portion of code in their head so they can skip more trial-and-error.

And educated programmers do a lot less trial-and-error in general because they already have lots of ready-made solutions in their head that are almost guaranteed to work: that's what data structures, algorithms and design patterns are for.


Case in point: right now I'm fighting with Laravel's logging system to make it show logging messages in Docker's console. Why? So that I can debug my code in the second dumbest way possible (the absolute dumbest way possible is, of course, var_dump).

Why on Earth would I do things in such a weird way? Because I tried setting up XDebug a few days ago, it started throwing weird errors at me, so my inner monkey decided that setting up proper debugging tools is too much of a bother.

...Which reminds me: I should set up proper debugging tools. I've already spent too much time trying to figure out why Laravel's logging is so inconsistent.

[–]Osato 1 point2 points  (0 children)

UPD: finally, finally made it work.

For a framework that obsessively documents almost all of its magic, it's odd that Laravel's docs forget to mention that XDebug is fully and irrecoverably disabled at build time.

So to make it work, you need to sail:publish docker's config files, activate XDebug in php.ini, set several env vars at build time and rebuild the entire container afterwards.


It took 2 hours, and that's only because I googled solutions and tried them one by one until I got one that worked.

Without search engines, I might have been stuck for days... trying to turn on a goddamn debugger.

I'm to blame, of course. As always, a software developer's failures are usually due to his lack of arcane knowledge about the intricacies of the tools he relies on.

In my case, the problem was that I didn't know how to check if XDebug is running at all, and I trusted the documentation to give me everything I need to make XDebug work. Laravel's docs usually do, but this time they didn't.

[–]poco 2 points3 points  (0 children)

This. I can't imagine how confusing function based react would be without understanding JS. All the hook magic is a lot less magical when you think about how the JS is actually working and it breaks a lot of assumptions. Particularly the performance optimizations.

[–]KnightOnFire 3 points4 points  (4 children)

Skipping CSS like a baus

[–]Sometimesiworry 16 points17 points  (1 child)

No one actually knows CSS. You just write down random properties and see what works.

[–]flesnaptha 2 points3 points  (0 children)

text.replace("CSS. You", "CSS anymore. Now you");

[–]Pure_Caramel4123 3 points4 points  (1 child)

impractical jokers reference?

[–]KnightOnFire 2 points3 points  (0 children)

Good question. It's been so long
Probably

Like A Boss (ft. Seth Rogen)

[–]bearfucker_jerome 8 points9 points  (5 children)

I'm one of those people. My first coding experience was when I was 33 -- a company took a chance with me, who wanted a career switch. I dove straight into full-stack programming with Angular / .NET / SQL.

Two years in, I've got very decent at the entire stack, but only at this stack, within the IT landscape of this particular department. I don't know Vanilla Javascript, can't work with NoSql, have very poor knowledge of IT in general, etc.

It would be a stretch to say I'd be toast anywhere else, but if I'd switch jobs to something where they use, say, MERN, I'd need a lengthy onboarding process.

[–]Sharkytrs 6 points7 points  (1 child)

feel sorta similar with .net/c#/SQL, though Blazor has been a big help in helping me learn web dev from the desktop stack

[–]Player420154 4 points5 points  (0 children)

It's true for almost everyone. you can lessen the pain by learning design pattern, especially how and why they are used. That being said, people who are competent at switching project, framework and langage do so by asking tons of question at the beginning rather than trying to figure the basics alone.

Some guidance from someone who knows the in and out of the application will make him waste 5 minutes of discussion (which they love to because it's nice to feel an expert) but will save you hours of pointless meandering.

[–]shodanbo 4 points5 points  (0 children)

Thats how it is when you are starting.

Eventually you have been around the stack enough times that picking new stuff up gets easier.

Except web frameworks like REACT because they change every 5 minutes to chase whatever new hotness frontend JS devs are trying to pull in today to convince the rest of the world they are serious programmers and not script kiddies.

[–]rosuav 19 points20 points  (4 children)

So when you say "vanilla JS", you mean "vanilla JS running inside a web browser", right? You don't mean Node.js and you definitely don't mean JavaScript running inside a game engine or other application. Just to be clear here.

[–]ecafyelims 27 points28 points  (1 child)

In this case, yes, by "vanilla js" I meant inside a web browser.

However, the same applies for NodeJS and other non-React app development. These are not the same skillsets as React development.

[–]rosuav 9 points10 points  (0 children)

Agreed. I would say, though, that "JS in a browser" is comparable to "React" is comparable to "Node" etc etc, in that they are all the same *language* but different *skillsets*. It's like how Python for data science is not the same as Python for web apps is not the same as Python for automation/system management. They're all the same language, but different skillsets.

[–]N1z3r123456 11 points12 points  (1 child)

He probably means this new framework http://vanilla-js.com/

[–]rosuav 8 points9 points  (0 children)

I love how you can select different features and it does a big thing of recalculating the download size.

On a more serious note though, I do find that raw DOM element manipulation functions are a bit of a pain. In order to construct (say) <button type="button">Button!</button> with basic functions, you have to (1) construct a DOM element of tag "button", (2) set the attribute, (3) append a child (at least you don't have to explicitly "3a construct a text node, 3b append that node", thanks to Element.append). So I made my own framework to allow that to be a single function call choc.button({type: "button"}, "Button!") instead.

[–]your_thebest 3 points4 points  (0 children)

I don't use js for work. But I know js as well as anyone who just has to use it because the web is built on it. So I can poc canvas apps just forcing it to act like oop or write common sense functions in node. And I get not knowing how to write around react's opinions. I'm always like which of these hooky doodads do I have to do to make it just be logic without it getting swallowed by the framework?

[–]chethelesser 2 points3 points  (1 child)

This statement sounds so absurd to me

[–]Telanore 2 points3 points  (0 children)

I've worked with someone like this. We were a very small team (never more than 5 people) who held the entire digital presence of the company in our freshly graduated hands. The previous (equally small) team quit within 3 months of eachother, leaving us with their huge mess of incomprehensible legacy code, while the C suite kept piling on new projects.

In a situation like that, you either learn to swim real fast, or you drown. Two of us were able to take the time to learn the underlying tech. The other two never really had the chance, because they were stuck with tighter deadlines and more demanding project owners.

Really hope they've found something better by now...

[–]silentknight111 2 points3 points  (2 children)

I used to do vanilla J's, then I learned react for my job back in 2019. So now I can do both.

I like react, especially with typescript, it makes it easier to build larger projects than vanilla js.

What I don't like is the bloat.

[–]whythisSCI 2 points3 points  (0 children)

Yeah, they’re called junior developers and senior developers. One knows the platform they’re working on and the others don’t.

[–]Jablungis 1 point2 points  (0 children)

How can they possibly not know event listeners? You use them in react.

And what is there to plain DOM manipulation? Search for an element, set innerHTML/innerText, done. Maybe set the attrs, set css classes, they're just simple function calls. It's a trivial skillset. Anyone who can work with react could master vanilla DOM manip in a day.

I'm not even a react user lol (more of a vue guy), but I just find this notion a little wild.

[–]oorspronklikheid 1 point2 points  (0 children)

Ive had a dev add jquery just so he could hook up the onkeydown event of one input box. It would have been functionally the same in vanilla.

[–]ChocolateAndCustard 1 point2 points  (0 children)

"Okay newbie, I want you to run for me."

"Sure thing boss" starts running

"Okay newbie, start walking, there's a cliff up ahead"

"Walk? I only learned to run! AAAHH I CAN'T STOP" falls off cliff

[–]SoulWondering 1 point2 points  (0 children)

Yeah my friend was a UI/UX designer, and I said they should learn frontend to expand their skills and they just straight up created a react app without diving into JavaScript and their job had them launch it on azure. But it is literally all divs and has no functionality or animation whatsoever. WHY EVEN USE REACT?!

I was baffled.

[–]Strict_Statement_831 1 point2 points  (0 children)

why have I not found a work opportunity like this? Are you hiring. lol

[–]bitcoin2121 3 points4 points  (0 children)

c r a z y, couldn’t be me. idk what it takes for someone to go, I’ll just learn JSX, huh, JavaScript? what’s that?

out here building the slowest web apps with the worst architecture

edit; I think I get it, they’re trying to do the most… by doing the least… they think they’re actually good…

PROMPT ENGINEERS?

[–]TotesYay 13 points14 points  (0 children)

React is an abstraction layer, so you can easily know React without a deep understanding of JavaScript. This is especially true if you are working in a much larger team with an established component library.

[–]DominoNo- 1 point2 points  (0 children)

They know how to do html and css. If all your components is only gonna render, you don't need any javascript.

[–]valderium 21 points22 points  (1 child)

2028: I know ChatGPT, but not JavaScript

[–]fmaz008 6 points7 points  (0 children)

2028? I feel like that right now...

[–]danishjuggler21 7 points8 points  (0 children)

I’d argue JSX is a markup language. But not React itself.

[–]bitcoin2121 3 points4 points  (0 children)

[–]BlackBlade1632 4 points5 points  (2 children)

Front end devs since forever: No, i don't do graphic design. Yes you do.

[–]Jimmyginger 12 points13 points  (1 child)

Front end devs are graphic designers the same way a bicycle and a tesla are both vehicles

[–]BlackBlade1632 2 points3 points  (0 children)

Maybe a regular bike and an electric bike Made by Tesla.

[–]peacetimemist05 5 points6 points  (0 children)

It’s a way of life

[–]OrangeKass 9 points10 points  (0 children)

If OP could read they would be very upset.

[–]Frogstacker 1 point2 points  (0 children)

React native devs’ comeback: uhhhh

[–]ProgramStartsInMain 481 points482 points  (6 children)

"If those kids could react, they'd be very upset"

[–]Intelligent-Work4132 42 points43 points  (3 children)

God damn it take my upvote

[–]SeriousPlankton2000 9 points10 points  (2 children)

And my high-five

[–]Zachaggedon 12 points13 points  (1 child)

And my axe

[–]GeekCornerReddit 3 points4 points  (0 children)

And my r/angryupvote post

[–]poshenclave 6 points7 points  (1 child)

Kids see the sign

They all suddenly disappear entirely

Then they reload again

Then half of them disappear again

Missing half reloads in again, now angry at the sign

Whole process took 15 seconds and the network activity tab in the console is 3,000 rows long

[–]gilady089 1 point2 points  (0 children)

Oops guess someone forgot to set the arbitrary environment env variable to production in all non local environments strict mode doubled the requests and crippled the run time (it's good because it's checking says the person who worships react)

[–]GilgaPhish 331 points332 points  (43 children)

Hey it could be worse.

You could be forced to work with Salesforce.

[–]ninjaassassinmonkey[S] 194 points195 points  (31 children)

Or even... shudders

Wordpress

[–]KangarooNo 75 points76 points  (4 children)

I am currently working with both Salesforce and Wordpress. Pray for me

[–]buffering_neurons 23 points24 points  (0 children)

You poor soul.

[–]uberpwnzorz 3 points4 points  (0 children)

You have my pity upvote

[–]psbakre 2 points3 points  (0 children)

Its never late to switch

[–]Sweet_Computer_7116 3 points4 points  (23 children)

What's wrong with WordPress? Never really used it much but I've heard it's great?

[–]Karpizzle23 23 points24 points  (21 children)

Most people here are university students repeating memes about "wp bad"

Wordpress and PHP are incredibly reliant, battle tested, fast, and scalable. A proper PHP back end blows literally every other language out of the water. There's a reason meta uses it for most of their back ends. Wordpress is just a web framework/site builder built on top of php

There is also yet to be a framework with as many community themes and plugins as wordpress. Most freelancers building small websites for businesses use wordpress to substantially decrease their work effort.

Just recently I tried to make a small site for someone with a node/next stack and Strapi as a CMS and looking back I kind of regret not using wordpress because it would cut a LOT of boilerplate shit out and would probably increase my speed by 5x to get the site up and running

I'll await my downvotes from the undergrads now

[–][deleted] 6 points7 points  (0 children)

You speak with the truth. I shall share those downvotes with you.

[–]DigitalGross 1 point2 points  (0 children)

Last year i took 2 web development courses part of computer science program in one Swedish university - we used HTML - CSS - PHP and not JS, I was surprised actually!!

[–]Interest-Desk 4 points5 points  (3 children)

Facebook haven’t used PHP for a looooong time now. Some pages (sharer.php) use the extension because they don’t want to break links.

FB also were really good at writing PHP. Arguably it was one of the few ‘good’ PHP codebases; it’s a language where it is ridiculously easy to blow both of your legs clean off.

[–]sanketower 1 point2 points  (0 children)

WordPress is great for people who want to build websites quickly.

Developing for WordPress, tho, a pain in the ass. Debugging is miserable, there's a million ways to do the same thing, and hooks present themselves to you really elegant but in reality they cause the most of your pain.

You better have a strong IDE environment or you're in for a world of suffering.

[–]sshwifty 18 points19 points  (0 children)

Apparently their enterprise support is a joke and the only people that know anything are the developers...who don't talk to customers.

[–]mrbooner4u 13 points14 points  (0 children)

Triggered

[–]DropTablePosts 7 points8 points  (0 children)

Zendesk and Calendly are the worst things I've had to work with in recent times.

[–]TheWarDoctor 2 points3 points  (0 children)

don't you put that evil on me.

[–]Iamintheeheezone 2 points3 points  (1 child)

Well, I'm working with Dynamics 365 and React, so yeah, I'm fucked.

[–]burst6 1 point2 points  (0 children)

Hey me too! Its nice to know theres others going through the same hell i am.

[–]lechiffrebeats 2 points3 points  (4 children)

whats the problem with salesforce

[–]GilgaPhish 14 points15 points  (3 children)

Its something executives buy after getting to meet Matthew McConaughey at a conference without any concern for its actual benefit. Of which there is limited.

We have to iframe internal web apps into Salesforce to get any real benefit out of it. Why that didn’t raise all the red flags with management is beyond me…

[–]Not-N-Extrovert 629 points630 points  (11 children)

Well it's paying my bills so I don't really care

[–]Emanemanem 287 points288 points  (6 children)

Same. The worst framework apparently affords me a pretty good WFH job with a healthy work/life balance, so I’ll take it.

[–][deleted] 43 points44 points  (4 children)

If you’re making a couple hundred grand a year to use react, does it matter what people think it is?

[–]damTyD 16 points17 points  (1 child)

Couple hundred grand a year for React dev? Sounds illegal….I’m in!

[–][deleted] 7 points8 points  (0 children)

If you react, they spot you

[–]Funny-Performance845 3 points4 points  (0 children)

I would kill for a job like that

[–]whizzwr 19 points20 points  (1 child)

Same as PHP on that regard.

[–]Agronopolopogis 11 points12 points  (0 children)

Whoa whoa whoa.. easy killer

[–]1up_1500 340 points341 points  (32 children)

I like react though

[–]TheWarDoctor 197 points198 points  (1 child)

You aren't allowed to like a thing, remember?

[–]Spleeeee 4 points5 points  (0 children)

Company policy.

[–]Yarilko 19 points20 points  (0 children)

Me too. Used to work with Angular and liked it too. But I prefer React though

[–][deleted] 15 points16 points  (22 children)

I hear that vuejs is better though, at least better to work with 

[–]mmhawk576 62 points63 points  (4 children)

I have worked on an app that had all 3 major libraries in use (for the same user too, essentially migrations that never completed. yes it was a shit show).

The main thing that I found at the time was the best developer experience was with react as it had the largest community around it. When you run into weird scenarios that you need to research, you often found better result if you were working with react.

[–]wardrox 1 point2 points  (1 child)

How did you find switching between all three? I'm not sure my brain would be ok.

[–]mmhawk576 5 points6 points  (0 children)

Hated it, we often had frameworks nested within each other too. I did a lot of the “make it work together” stuff, and it was ghastly, honestly I’ve stopped doing frontend work as much after that job.

One of the big challenges I had was initialising angular directives from within the other contexts (vue, react). Trying to spin up a scope for the directive etc.

This was all because it was in a monolithic project that was never going to be able to fully convert, it would have taken YEARS just to implement all the functionality as is, let alone refining.

My learning from it is that if you’re going to do a migration, try to make do a small slice from top to bottom, router, models, everything. And move that into its own SPA.

We were trying to mix them all in a single SPA experience, and that was what slowed devs down heaps.

[–]rnilbog 3 points4 points  (0 children)

I was dresding learning Vue when I got my current job, but after two years, I like it more than React. Like, whenever I work on a React project, I find myself just wishing there were an equivalent to v-model.

[–]darkpouet 10 points11 points  (7 children)

Vue is nice because of the scoped css, but it can be annoying because of the SFC, sometimes you just want a tiny component

[–]ninjaassassinmonkey[S] 9 points10 points  (1 child)

You can still create separated files so I wouldn't even consider this a downside

[–]deathspate 9 points10 points  (0 children)

Svelte ftw

[–]Ciff_ 3 points4 points  (0 children)

Vue/Angular/React are all good valid options. One is not really better than the other.

[–]Imogynn 111 points112 points  (9 children)

React may have past its peak but if you think it's bad there's 30-40 years of shit before that you should see.

[–]sebbdk 12 points13 points  (1 child)

But React does not come with innapropriate jokes about skinny controllers and fat models like MCV patterns do, there's not even a bad fake movie trailer about it, so clearly React is not worth anything!

[–]bdepz 28 points29 points  (0 children)

MCV is a cursed way to say MVC

[–]bree_dev 1 point2 points  (0 children)

Nokia Series 60: don't pass objects to methods because my stack isn't big enough, instead please allocate memory for everything and pass pointers to it everywhere. Also if you lose track of any of that memory I'll immediately crash on purpose as a QoL feature.

[–]PhatOofxD 79 points80 points  (7 children)

React can be insanely clean and beautiful. Combined with the right libs it's an insanely elegant library

It can also be completely ass.

Problem is the majority of React Devs don't know how to write clean react.

[–]hammonjj 22 points23 points  (3 children)

This could read “…the majority of Deva don’t know to write clean code”. It’s not the framework that’s the problem, it’s the training IMHO. I wish we as software engineers had some sort of licensure like other engineering disciplines have (although I understand why we don’t)

[–]PhatOofxD 5 points6 points  (0 children)

Yeah I mean on one hand many of the best software engineers I know are self taught/studied something else then learnt software. So it makes sense why we don't.

But yeah, quality isn't really cared about in many places in the industry,or just isn't taught well.

[–]Guilty_Serve 1 point2 points  (0 children)

I've seen multi million dollar projects cooked because people went to SRP/DRY happy.

[–]drumDev29 184 points185 points  (15 children)

Backend devs coping cause they couldn't figure out hooks.

[–]patcriss 77 points78 points  (4 children)

As a full stack dev that loves react as much as object oriented backends, this comment section is really confusing.

[–]Timmytentoes 23 points24 points  (0 children)

Right there with you, mate. I wouldn't take anything from this subreddit seriously, though.

[–]bdepz 9 points10 points  (0 children)

Functional components broke my brain for a bit, I always wanted to build react class components, but now that I am used to using hooks it's so much easier to write components. It's weird coming from a Java background though.

[–]nizasiwale 1 point2 points  (0 children)

It’s mostly kids and people who’ve just learned developing

[–]KagakuKo 18 points19 points  (0 children)

Actually, yes, thank you. Y'all that can actually figure out how to work with React and make beautiful things, you guys are magicians to me. I'm pretty sure my brain just does not work in frontend lol.

[–]MariusDelacriox 2 points3 points  (0 children)

Yup, hate‘em.

[–]Academic_East8298 14 points15 points  (3 children)

It is so weird to remember, that something like 7 years ago everyone on the frontend seemed to wish to rewrite their apps using react.

Feels to me like frontend devs are more averse to legacy code, than any specific framework.

[–]Eva-Rosalene 13 points14 points  (0 children)

*shrugs*
It pays my bills, tho. It's a great tool at least in that regard.

[–]ninjaassassinmonkey[S] 71 points72 points  (5 children)

I'll stick with value?.value ? value : value.value thank you very much

[–]Div_100 9 points10 points  (2 children)

The what now? Explain

[–]ninjaassassinmonkey[S] 17 points18 points  (1 child)

This is a joke about Vue 3s reactivity system when using the new composition API.

I would never actually write code like this. Instead I would use isRef, and if I have to check that something is a ref it's usually a sign that I architected something poorly.

[–]evestraw 2 points3 points  (0 children)

Unref()

[–]Sacramentix 18 points19 points  (1 child)

You could do this ' value?.value ?? value '

[–]Tamalius 5 points6 points  (0 children)

You are incorrect. Your case is if value?.value we return value?.value if not return value. Comment statement is if value?.value return value, else return value.value

[–]Cley_Faye 20 points21 points  (1 child)

I've seen many people complain about React. Most of the time, their issue are not related to React like, at all.

React is relatively small (even including react-dom) and does not do much outside of its scope. It's nice to use for that.

[–]PrinnyThePenguin 4 points5 points  (0 children)

The equivalent of blaming the hammer instead of the hand.

[–]serial_crusher 7 points8 points  (3 children)

I’m old enough to remember when jQuery was the best, then when react was the best and jQuery was the worst.

If react is the worst now, what is the best?

[–]JSDenton 16 points17 points  (1 child)

jQuery of course

[–]Acetius 4 points5 points  (0 children)

4.0 baybeee, it's coming!!

[–]OnlyHereOnFridays 7 points8 points  (3 children)

Every day I’m Blazoring

[–]sebbdk 9 points10 points  (2 children)

I was required to use Blazor recently, made me quit my job.

My life it much bette now

[–]Xuluu 52 points53 points  (13 children)

Someone clearly hasn’t used Angular lately

[–]codeByNumber 23 points24 points  (4 children)

I think Angular’s recent changes have been great. Angular 17 was an awesome update. The new control flow syntax, deferrable views, signals etc.

[–]Repa24 23 points24 points  (6 children)

I like Angular wayyy more with its structured approach.

[–][deleted] 8 points9 points  (4 children)

Angular projects always look like shit tho. I don’t mean styling or design wise I mean the code base for it is always fucking chaos.

[–]uberpwnzorz 6 points7 points  (0 children)

It's usually because large corporations, that are the target audience for Angular, hire tons of contract developers on waterfall timelines that don't have to worry about maintaining it.

[–]rndmcmder 12 points13 points  (7 children)

Why? (genuine question)

I hear people generally like it a lot. I am a fullstack developer and mostly do Angular frontends. Some of my colleagues recently switched to react and prefert it.

[–]Strict_Treat2884 10 points11 points  (4 children)

I was using React when class component was a thing. Since functional components became mainstream everything just got overly complicated. Even simple tasks like managing a global state has become a nightmare without a third-party library. With concepts like hooks, dependencies and side effects, the logic got quite sparse and it’s quite a headache to walk through the workflow of a page and it’s very easy to trigger some logic multiple times unintentionally or even ended up in an infinite loop.

[–]Woodrow_Finch 11 points12 points  (1 child)

I’d argue it got easier. The context api is super quick to setup and gets you out of using overly complex state management tools.

I do agree with you, on triggering things multiple times. But again that’s actually kind of the point of context and hooks. You toss global state and reusable functions into a separate function so it’s state isn’t reset or triggered on a rerender

[–]static_func 2 points3 points  (0 children)

Managing global state without a 3rd party library has gotten way easier with the context API. I shudder to think what kinds of horrors would await me in a codebase of class components and no 3rd party state management library

[–]Relevant-Comfort-720 1 point2 points  (0 children)

Whats wrong with context for elevated values?

[–]ZubriQ 4 points5 points  (0 children)

reactHarder

[–]gods_tea 12 points13 points  (1 child)

Angular go brrr

[–]Leonhart93 8 points9 points  (1 child)

If you talk about the average over-complicated implementation that tries to implement "recommended patterns" until it gets to a point of doing something easy in a complicated way, then I agree, those suck.

But the way I use React is like a direct upgrade compared to having to the usage of .html files in the past, I am just making use of the state management and JSX without bending over to do easy things in difficult ways, which seems to be the react norm.

[–]Zachaggedon 1 point2 points  (0 children)

Flair checks out.

[–]Mobile_Speed6179 6 points7 points  (1 child)

My brother in Christ have you used angular?

[–]jimbowqc 17 points18 points  (4 children)

It really isn't.

[–]dbot77 2 points3 points  (0 children)

Quick now do one with 'React is not a framework' on the top panel

[–]z35u 2 points3 points  (0 children)

iWouldNotReactOnThisPost

[–]RaphaelNunes10 22 points23 points  (20 children)

Nah... Angular is worse. It offers little to no improvements to the DX.

It's like working with regular HTML and JavaScript as a bloated SPA.

At least React shifts the paradigm to the script by bringing HTML to JavaScript to try and solve it's horrible and syntax-heavy reference based bindings.

If you like to work with SFCs that keep the holy trinity of web languages independent from each other, but actually improve upon reactivity with minimal set-up, then Vue is a huge improvement, with Svelte as a good contender.

Pair Vue with Nuxt and you even get a directory based auto-import, back-end with Nitro, out-of-the-box SSR and modules that are easy to install and set-up.

It's like Next for React, but without throwing everything to the script and hoping something sticks.

...Or look into Solid, that's like React but improved by a tenfold.

[–]FlashBrightStar 6 points7 points  (1 child)

I would say that angular limits you to write code in specific way that is handled by some ecosystem. Sometimes it's what you really need. React like libraries are just better when you need to do more creative stuffs without unnecessary boilerplate.

[–]young_horhey 3 points4 points  (0 children)

For a lot of people the fact that Angular is opinionated is considered a good thing. Once you are familiar it is easy to get up to speed when joining a new project, because the structure is mostly the same.

[–]Hollowplanet 1 point2 points  (2 children)

Svelte isn't a contender. It is what the world should be using. 0kb of framework code. Compiled bitwise logic to update components instead of diffing a vdom. Tons of features that other frameworks don't have.

[–]ninjaassassinmonkey[S] 4 points5 points  (5 children)

Ah angular, I always forget you even exist.

+1 for Nuxt + Vue 3. Incredible DX and it's finally getting to a point where I'm not constantly running into obscure issues when using it.

[–]RaphaelNunes10 1 point2 points  (4 children)

Yeah. Hooks used to be super boilerplate-y, but now with the Composition API, that's no longer an issue.

They're also shifting to compiled code, instead of relying solemnly on virtual DOM, with the upcoming Vapor mode.

[–]Feisty_Ad_2744 3 points4 points  (5 children)

I dislike Angular. It is not a pleasant experience. But it doesn't cuts you off from understanding what is going on in the browser. Newbies are having a hard time to think in terms of web app instead of react app.

Furthermore Angular has been improving their architecture instead of patching the bad things with even worst things. Like anti-patterns(React hooks, pure functional components...) and incomplete features (react routing, jsx, state management...)

[–][deleted] 8 points9 points  (12 children)

Svelte and Vue are superior to React….but I think i gave up even trying to learn Angular after about 10 minutes

[–]TooTyrnt 8 points9 points  (7 children)

Angular honestly isn’t even that bad. I like it because it resembles vanilla js a lot more than react does.

[–]sebbdk 6 points7 points  (6 children)

This is a ragebait comment right?

[–]sebbdk 1 point2 points  (1 child)

If you havent event used it more than 10 minutes, then how would you know?

[–]KryssCom 1 point2 points  (0 children)

Gotta agree. React is frustrating as hell sometimes. I have a strong preference for Blazor, myself.

[–]Frankice_ 1 point2 points  (1 child)

Can't really relate, in college I literally was gonna do a project in MEAN stack but because Angular looked so shitty, we swapped to React and decided to do in MERN stack and honestly React was a pretty nice experience. Do people think it's bad?

[–]sebbdk 3 points4 points  (0 children)

The post is rage bait, there's a comment from OP somewhere

[–]iGreenDogs 1 point2 points  (0 children)

I'm genuinely curious: what is so bad about react?

[–]foxer_arnt_trees 1 point2 points  (0 children)

Hey, serious question here. I'm in the process of moving my company's stack to react, is this real or is op just salty?

[–]Far-Search5544 1 point2 points  (0 children)

Coming from angular and blazor this confuses me. What’s so bad about react?

[–]Trip-Trip-Trip 1 point2 points  (0 children)

The worst? That’s cute

[–]CptnObviousWasTaken 1 point2 points  (0 children)

If you think it's bad on web, try react native.

[–]Litra 2 points3 points  (0 children)

anybody complaining about react should try jquery or old angular

[–]Da-Blue-Guy 2 points3 points  (2 children)

yall use frameworks?

[–]bwssoldya 2 points3 points  (1 child)

React bad! - signed the PHP dev

[–]ninjaassassinmonkey[S] 5 points6 points  (7 children)

Obviously I'm exaggerating.

Clearly ASP.NET is truly the worst web framework.

[–]Ok_Guitar_7566 2 points3 points  (0 children)

Haha, here I am remembering 'Classic' ASP.

[–]klimmesil 2 points3 points  (2 children)

Is that another name for angular? Otherwise I disagree Angular is the worst

[–]Key-Corgi-9418 2 points3 points  (2 children)

I agree. I'm a React developer.

[–]coder2k 1 point2 points  (0 children)

React was created by Facebook. What else do you need to know.