When asked if you like React, you might typically answer yes, without thinking about it twice.
Has anyone ever asked you why you like it, though?
What did you say?
The Community? The documentation? Ease of starting out? Lots of tools to help you?
Ok, great, that's a start.
How about the technical aspects?
Have you ever corrected yourself, adding anything like: "yeah, even though I don't really like how it re-renders things", or "I love it, but when it gets so slow I would just kill it". How about "I like it, but it's so heavy on memory in development it makes my browser cry so loud I can hear it"?
If so, you may want to take note of this interesting coincidence: you said you like React because of... external factors. However, the ecosystem is not React, the community isn't either, it's just people like you.
On the other hand, when you got critical, you actually did criticise React, not other developers, not your browser.
So... are you sure it's really React that you like?
Maybe if React was perfect, fast, lightweight, didn't generate huge bundles for everything, had a good reactivity system, didn't re-render the world twice every time you hit a button, was a bit more creative with naming useEverything
, maybe if it didn't come with not just breaking changes but total API redesigns and if it didn't keep re-promising "we'll fix it" over 19 major versions, you would more wholeheartedly say that you like it? Maybe I would like it as well.
Some psychological/behavioural hypotheses
If you made it this far and you found yourself in the middle of this little conundrum, have you never wondered why is that?
What if there were any scientific findings that could help understand and explain this "phenomenon"?
Let's start with a couple of potential matches:
Expectation Bias
This is well-known cognitive bias in psychology that explains our tendency to match our perceptions to our expectations.
If a product or a service is very expensive or otherwise comes from a highly reputable source, it must be very good.
Think of the popularity of either Angular or React. They are backed by the richest businesses in the world, so it's easy to simply assume they are the best.
The point here is not whether they are actually the best or not, but the fact many people blindly assume they are without actually verifying it objectively.
Check out the source code, fact-check the propaganda and marketing claims, suitability promises, measure their performance, or just talk to people who did it, published articles with their findings, etc.
Read more about expectation bias if you want to understand how it can influence your everyday life and decisions.
Processing Fluency
There is an interesting phenomenon behind the complexity of any message, visual, or textual we receive.
If it's hard to understand, two things may happen:
- we either have the time and energy to make an effort to understand it, or
- we just take a rough guess, but mainly based on appearance.
If it's hard to read/understand but looks good, it's probably good.
Also, if it's clear and easy to understand, it must be true, especially if it looks good.
Good marketing and sales people know about this and when they try to persuade us to buy their products, they often use this strategy.
Ever heard a financial consultant first priming you, saing "oh, you're clever, you must know all these things", but then they continue adding some increasingly complicated explanation why and how their investment or insurance package is obviously so convenient for you and they're selling hundreds of these every day. They can easily end up surpassing the boundaries of truth, sometimes into plain nonsense. If you just acknowledged you're clever, you won't risk looking stupid just because you just bumped into something you can't understand...
So, there is an overcomplicated part they don't want you to understand (compound interest, inflation, returns, future values, etc), and a convenient summary any 5yro boy can easily repeat.
The summary may or may not be an accurate summary of the complicated narrative.
The reality is there's nothing actually difficult in what they are explaining, but what they want is to put your brain in System 1 thinking, shut down your critical mind (by making their argument appear complicated and present themselves as trustworthy enough to make it feel like too much wasted effort understanding all the details), so based on their smart attire and some social validation you quickly say yes and sign up.
What does this have to do with React?
Here's the thing. You read all those intricated stories about the DOM being slow (false), so they cleverly invented the Virtual DOM to make it fast for you (false, it was faster before, actually), but if you don't have the necessary knowledge and experience and you don't exactly know why they came up with this narrative (because React doesn't have reactive primitives), you easily fall for these "solutions".
JavaScript frameworks, appear really complex, but have been "kindly" simplified for you in various bite-sized and nicely designed, professionally written handbooks, so they must be really good.
Remember your feelings, when you said "yeah, I love React, but...", and read more about processing fluency as there are numerous articles about it, although it's a bit of a nuanced bias that needs some effort to be truly understood.
Social Proof, Peer Pressure, Conformity
This is one of the most dangerous ones. Nearly everyone falls for it in every sales pitch: "millions of people are using it". This is enough to convince us it must be so good we have to join, too.
You can sell any sort of shit this way. Once you convinced someone that so many others are using it, they'll shut down their neurocortex and just choose based on an emotion, the need to be part of the herd and not being left behind.
The classic Asch Experiment illustrate this shocking aspect of human reasoning.
In this historic experiment, people were tricked into making an obviously wrong assertion just because others (paid actors) did before them.
Is like if 10 people before you were asked how much is 2+2, they all answered 3. You would feel some pressure to say 3 yourself, merely because the others might know something you don't, and since they all agree on 3, they must be right!
Applied to React, what this means is you might easily find yourself saying "React is the best" because that's what you heard from others, even if you disagree (and maybe they do, too, but they are just as afraid as you to admit it).
Confirmation Bias
This is also a terrible one. If you already have any strong view about React, positive or negative, your brain will try to stick to it even when facing new information. Suppose you like React, any article you find that says good things about it, you'll notice it as a great article and subconsciously reinforce your idea that React is good. Any negative articles? You're very likely to just dismiss it.
Same for people who don't like React. They are more likely to applaud any critical article and at the same time ignore any positive one about it, regardless of the quality or truthfullness of the new information.
Learn more about confirmation bias and how it affects our everyday life.
Conclusion
Now, whatever your final verdict will be, doesn't matter. If you really like React, that's fine. If you don't like it, it's fine either.
What matters is that you know the reasons and you make your choice not because of subconscious, intentionally or unintentioanlly manipulated feelings but because you know what you're doing, you've seen and given alternatives a chance and you're making an informed decision that's right for you, without ignoring evidence, without just conveniently trying to reinforce your existing ideas or yielding to peer pressure.
This of course applies to React, Angular, Vue, Svelte or any framework that has become a cult, rather than just a tool for the job.
Top comments (2)
The problem is the market, there are jobs for React, Angular and other "cult" tools. So you're no longer "Frontend Developer" - you are "React Developer".
We need more cults to break this loop :)
That would be the ultimate tragedy, haha