24
114 Comments

Don’t bother learning React JS.

  1. 1

    While I do agree that it's important to understand the web fundamentals (HTML, CSS and JS), I think this advice is definitely a miss for new developers. React tooling has come a long way since the early days and it's abstraction allows new engineers to be able to build earlier than if they focused on the fundamentals first. Additionally, I think saying that React's days are numbered is quite the prediction and even if it's not the trendiest framework in tech, it is still by far the most used.

    1. 11

      Yeah.

      tl;dr: Author doesn't really understand React tooling, so it scares them, and a lot of React developers don't really understand frontend development because...React? Therefore something something "other options are available! Look! New! Shiny!"

      Honestly I have problems with React. But none of the actual issues I'm aware of are listed in the article, nor is the real reason that we should keep using React: Community support is a huge benefit you can't just ignore.

    2. 5

      Thanks for saving me time haha

    3. 4

      if the information given in the article wasn't wrong I would be ok with that title... Author clearly doesn't know what React is

    4. 2

      yeah just write something provocative...

  2. 28

    The provokative title isn’t justified in the article beyond the benefits of learning basic JS, CSS and HTML.

    1. 2

      Yeah, maybe change the title to Don’t bother learning React JS, until you learn basic JS, CSS, and HTML? But then nobody is going to read it and talk about it?

  3. 11

    Learn HTML, CSS and JavaScript before learning anything front-end, be it React, Vue or Angular.
    Also, learn React.

    1. 1

      HTML, CSS and Javascript are the foundations of front-end development.

  4. 10

    This article is worth skipping. It argues very poorly on all the topics it mentions.

    React keeps developers from learning many of the fundamentals of web development

    Not true. React is fully compatible with HTML, so if there is e.g. a new tag added to HTML, React will smoothly support it. Similarly other browser features are always available independently of React. So claiming that learning React prevents you from learning new browser features is simply false.

    React requires extremely complex build tooling that ultimately reduces code maintainability.

    Unless you are writing pure HTML/CSS website, you will most likely end up using some kind of bundler like Gulp, Webpack or others. Calling this "extremely complex" is an exaggeration. Additionally, production websites often have complex pipelines for releases. If you join a team as a junior front dev, you'll most likely be spared the pain of setting these pipelines up. This is similar like claiming that learning C++ is not a good idea because pushing the code to production is sometimes complicated.

    If your application has a build tool configuration that is outdated, it can be a challenge to find new developers that will be able to maintain it.

    This is true for any framework, but the main question is whether your framework has good tooling and ideally a strong community around it. React does.

    This framework is now the de facto mental model for web development, and the space has become saturated with choice.

    What on earth does that even mean?

  5. 9

    Clickbait for sure, but there's a point: you can get a lot more done with VanillaJS and CSS than you used to ~10 years ago. A lot of businesses have much deeper frontend stacks than they need.

    1. 3

      So true. Same for No-SQL, micro-services…

      1. 1

        Micro services are crazy if your dev team is small.

  6. 9

    I feel that whoever wrote this article is either incredibly junior, or absolutely has no idea what he or she is talking about.

    Regardless, I'd highly advise you not to spread completely inaccurate information as you are not helping your self, and certainly not helping others.

  7. 7

    I didn't react positively to this article

    1. 3

      You're comment made it all worth it for me ;-)

  8. 7

    Really? You are wrong on react's pros and you are even more wrong on reacts cons. You should not write articles about the things you don't know specially if you are aiming beginners! You may cause someone to change their mind looking at all the false information in this article

  9. 7

    Sigh. This is dissapointing. Just because the industry caught up to component based architecture doesn't mean we should stop using React. Show us why something else is better!

  10. 6

    This seems really clickbaity indeed. Just reading the title it seems to be made to spark obvious debate.

    ReactJS is a way to build front-ends. Does that mean you should ONLY use React? Of course not, make a wise decision on which frameworks suits your specific situation the best.

    In any case, learning React is not a waste of time at all, I actively hire developers and React is one of the skills we test, no matter whether you're a front-end or back-end developer.

    Does that mean it's an issue if you don't have React skills? Not really, if you have a good JavaScript/development foundation and are genuinely interested, getting into React will be fast.

  11. 6

    Clickbait: Can I get my time back

  12. 5

    This article contains extremely bad advice. Is there a down vote button?

  13. 5

    I don't think the author understands the React ecosystem and tooling well and doesn't make a comparison with any other frameworks and also doesn't provide any alternatives to React either.

    Learning React doesn't prevent one to learn the basics, it has to start from there and it's not any different in any other framework as all of them add a layer of abstraction in one way or another.

    So I can't see any value in this article.

    1. 3

      I also don't see how React blocks your from using Browser APIs. The author states that they have years of experience in React. I don't really see this reflected in the text.

    2. 1

      Agree. Especially the total lack of mentioning any alternatives makes the article feel like something that creates more confusion rather than giving advice.

  14. 5

    I guess React helps build complex front-ends, but plain javascript is pretty useful in itself. I often wonder why front-ends need to be so complex in the first place...

  15. 4

    This article reads like one big non sequitur.

  16. 3

    It's not accurate to say that learning React JS is a waste of time. React is a popular and widely-used JavaScript library for building user interfaces, and it has a strong community of developers and a growing ecosystem of tools and resources. Learning React can provide a solid foundation for building modern web applications, and it can open up opportunities for career advancement and personal growth. Of course, every individual has their own interests and goals, and it may not be the right fit for everyone. But for many people, learning React can be a valuable investment in their future.

  17. 3

    The value of this article is that the author gives really, really bad advice, but manages to generate discussion!

    Whether or not an engineer will bother to learn the basics of web development is entirely up to the individual, but the author is dead wrong in blaming React for not learning the basics!

  18. 3

    I love React and always will - learn React!
    I work with next.js all the time and love it :)

  19. 3

    The title seems like click-bait. Learning frontend with React is a great idea. Even if your independent projects don't succeed, you can still list them on your resume when applying for jobs.

  20. 2

    ok , Obrigado por compartilhar

  21. 2

    Bad advice for new people trying to learn

  22. 2

    This article made me think. It reminded me the importance of being prepared for the ever-changing landscape in tech. However, I'd agree with other commenters that the framing is sensationalist (and inaccurate.)

  23. 2

    As someone with a decade of experience writing data science python code who just slogged through learning ReactJS, the most annoying thing I've found is that there are two ways to build components: classical and functional. After learning functional components, I look at classical components and have no idea WTF is happening. Like I can't even make a button change when it's clicked without serious Googling.

    That said, I don't know what else I'd use other than React since all the cool stuff is written in it. It's like Python for data science, the network effect looms large.

    1. 1

      Just completely ignore classical components.

    2. 1

      I only use functional components. Class components r legacy for sure.

  24. 2

    IMO you should learn vanilla JS and then focus on specific frameworks. As a CTO I've interviewed a bunch of front-end developers and the ones that end being hired are the ones with good core skills in vanilla Javascript.

  25. 2

    React is King of frameworks in terms of popularity. And skills translate as well so it is a good thing to learn.

  26. 2

    Companies did shift from Angular to React because the pain was way too big. And even so a lot of enterprise world did not yet.

    Adoption of new tech happens very slow.

    It's true that svelte is increasing in popularity and devs seem to love it the most, but that doesn't mean that companies will jump to embrace it soon, maybe a couple of startups here and there.

    This was the case for Vue for about 4 years most, devs I talked to and tried vue , loved it more than react but there were not so many jobs for full stack JS with Node + Vue so they remained with React. So devs loved it but haven't heard of companies migrating from React.
    (Laravel +Vue is a different story)

    Maybe after svelte will come an even better option and there the difference between React and that new library will be so big that will convince companies. Then we might see a migration en-mas. As of now we(React devs) are just discovering hooks, headless UI patterns, react-query and enjoying it.

    my 2 cents

  27. 2

    React requires extremely complex build tooling

    Ahh... nonsense. Just like the rest of the article.

  28. 2

    I'd struggle to hire someone on the frontend who couldn't get up and running quickly with React. Knowing HTML+CSS+JS is not the same as understanding how to build a web app quickly and robustly (e.g. lifecycle considerations). There are other frameworks that can do that besides React of course, and that can be a great place to a start discussion in interviews (e.g. someone prefers Ember/Flutter/? and can explain why it would be advantageous to go that route).

    1. 2

      I absolutely agree - React is definitely the way to go if you want to build web apps quickly and robustly. There are other frameworks out there that can do that, but React definitely has the edge in terms of speed and robustness.

  29. 2

    Reading the comments under this post taught me way more than reading the article tbh. Thanks guys!

  30. 2

    Quite a stretch imo - good intentions but clearly reading too deep into some of those cons. React doesn't prevent anyone from learning anything - as a matter of fact any React tutorial (beginner) or course I've ever seen ... every React Book I've read the very FIRST chapters are usually 'brushing up your Javscript' or 'getting up to speed with ES6 standards so you can properly implement those principals into your React' at the end of the day React is still JS - so learning React is learning JS, with a twist.

    It does take us away from the separation of concerns that was highly stressed in early days pre CSS3 / HTML5 mostly - in xHTML days we just rolled with it then the separation of concerns really became industry standard with the roll out of responsive web design.... but with the web maturing - now it happens to have one framework, sorry - Library, rather that teaches jsx which is losing touch of the SOC but gaining the component mentality which has it's own benefits.

    At the end of the day - it's all going to shift with Web3 so in reality not just React will die ((I Don't think it will die at all, it will either mutate/migrate or be replaced maybe with new standards to support the future web standards)) but all current frameworks/libraries are going to shift focal points in the next 5-10 years - there's no telling where we will be. Either way imo React isn't this 'big bad' enemy your making it out to be - if anything React helped me finally grip some Javascript principals I never understood before because I was able to actually implement them with React and see them working, without a bunch of confusing JS I didn't understand I did understand what was happening and I understood how I made it happen.... I just took a little shortcut to get there - and isn't that the essence of programming? Finding the quickest, functional, most viable solution to a problem?

    I'de revise the title none the less React has a huge community of very loyal, and supportive folks and they gonna hammer this post to no end unless you come with some more factual information not so much opinionated concerns with the logics and principals.

  31. 2

    It's like saying "You shouldn't learn C because you would be missing out on learning Assembly" - what a dumb take

  32. 2

    React can't keep developers from learning fundamentals. The normal, right way is to start with fundamentals, then move to frameworks like React. If you do it vice versa you will never be a good developer, that's it.

  33. 2

    Lol. Same as PHP, it keeps dying every year 🤣

    1. 2

      'Dying' .... yet still 71.5% of the web is in PHP (wordpress) ... It's hard to read sarcasm through comments lol

  34. 2

    Time to learn Svelte eh?

    1. 2

      Just picked up Svelte after using Vue. Life changing man

      1. 1

        Is it really? Do you prefer it to React? Should take some time to get into it!

      2. 1

        I was very curious to learn Svelte but not much update from the framework now a days. Or Am I missing something?

        1. 1

          Plenty of new stuff in svelte. Esp sveltekit.

          https://svelte.dev/blog

  35. 2

    I hear a similar refrain from people who say VSC is going to die, meanwhile it's the #1 most widely used editor out there by a long shot.

    But if there is one framework that is gaining ground its NextJS. Everyone seems to be talking about it, and last year it wasn't even on anyone's radar, while this year it's actually getting mentioned along with React, Vue, Angular, ect.

    To me, I like React simply because I can write in JSX, so I'm not going to give it up anytime soon.

    1. 3

      Next.js is built on top of React.

    2. 1

      You do realize NextJS is React right? lol

    3. 1

      "I hear a similar refrain from people who say VSC is going to die, meanwhile it's the #1 most widely used editor out there by a long shot."

      SublimeText was once the #1 most widely used editor by far...until it wasn't.

  36. 1

    Seeing everyone's comments, I realize I'm not alone. Without using React, beginners might face greater confusion and obstacles with js. Even using frameworks like jQuery, developing a cross-application can quickly become so complex that it's unmanageable. This article is very harmful and should not receive any recommendation on this platform

  37. 1

    I'm not Team React or anything - I think that putting so much work on the client makes web app architecture unnecessarily complex and makes it hard to build really fast sites.

    With that said, of the last five frontend interviews I did, all five have tested React. If you don't learn React, don't plan on interviewing for any roles that require frontend knowledge.

  38. 1

    Sooo..a thousand words about why React is dead, except it's not quite dead and still has several years before the end (thus making it still relevant to people coming into the industry)? But then just a dozen words about alternatives? A vague statement about Web Components being important someday and ending with "reconsider based on the current technology available to you."

    I don't have much enthusiasm for React (I'm a backend engineer, but it's what we use on the frontend and I need to be able to pitch in when needed), but this was some of the worst kind of click-baity fluff.

  39. 1

    I think the author of the article has not articulated the issues with React. Thus making it sensational. That said, React's biggest competitor is arguably flutter.

    1. 1

      Not true! The biggest competitor to both R & RN and Flutter is the web. PWA and the webview. Almost 85% of the apps on the Apple app store utilize a form of webview-wrapped web application.

  40. 1

    Well react's api is pretty solid. And with the amazing efficiency and reliability of nextjs. I think react will be relevant for a very long time. Although svelte may seem to take it's place in time to come

  41. 1

    Interesting take. I partially agree. The downside is that it's the most popular out in the industry, particularly for the Frontend frameworks built on top of it.

  42. 1

    nice article... I’ve used it. thanks for sharing

  43. 1

    thanks for saving me a click

  44. 1

    Alternatives are available to see what fits our requirements. There is no one solution that fits all in any industry, in any work. Alternatives also mean there is competition in the market and no monopoly which is beneficial to the end-users in long term. Click baits like these are just creating opinionated debates which serve no purpose to anyone.

  45. 1

    I did learn react in about 6 - 12 months (learn meaning - i can build pages and they work) why react? I needed to build something quickly react has great support and lots of code to borrow. Some people say learn Vanilla JS, yeah sure but it is much harder to build useful things in vanilla so that makes the process discouraging. I would highly recommend react for noobs (and only in Typescript).

  46. 1

    unless we took a gravity to find the perfect fit

  47. 1

    Learn Vue.js instead! 😋

  48. 1

    SaaS platforms are using React and other newer JS libraries every day. Whats this clickbait about lol.

  49. 1

    I've been professionally working with React for almost 5 years and I haven't seen the claim "separation of concerns" as a disadvantage of JSX for a long time. There are lots of comparisons, blog posts, and developer surveys about it. I don't even want to talk about "complex build tooling" part. Everything aside, a one should look into numbers before saying "React's days are numbered". See NPM Trends: https://npmtrends.com/@angular/core-vs-react-vs-solid-js-vs-svelte-vs-vue

  50. 1

    The entry point for complete novices in web development was lowered significantly thanks to React, I don't think it's anywhere near to become irrelevant. Most new frameworks address shortcomings that are beneficial for more experienced developers, nothing wrong with that but that also doesn't stop people from starting with React and learning other frameworks based on needs.

  51. 1

    I have read this article and Just provoking article. Main things to learn from it that you must learn basics HTML CSS AND JS

  52. 1

    Terrible advice. React should be the default for anyone here. Reason not to use it is you know something else better.

    I laughed at the first reason not to use in that article. “Separation of concerns”. Just build apps that people like. You’ll build faster with html css and js in the same file.

  53. 1

    I'm not sure that I agree with the idea that "React's days are numbered" but I've actually been moving more towards server side rendering using templating and then styling the frontend with tailwind or bulma. For interactive components, I'll use small amounts of JavaScript, but I've just started to look into htmx as an alternative. Admittedly, I am more of a backend engineer, so have a very light frontend is very appealing to me.

  54. 1

    react is one of most powerful and amazing language . I always prefer react

  55. 1

    I think Next changed the React game for me so fundamentally that I'm sticking with it for now. Very curious about Svelte but at the time had concerns about the size of the ecosystem especially with regards to things like auth.

  56. 1

    React just became classic 🙌

  57. 1

    I learned react like 2 years ago, and after running into the multitude of different frameworks, I haven't used it in quite a awhile and not sure if i'm going to get back into it

  58. 1

    I agree that React can keep developers from learning many of the fundamentals of web development (like the basics of the core web technologies, HTML, CSS and JS.) But that's not a reason not to learn React. It's just a reminder that the rest is important too, imo.

  59. 1

    Secondly, React requires extremely complex build tooling that ultimately reduces code maintainability.

    Rails has been trying to solve for this in Rails 7 with their own toolbox like Hotwire. Curious to hear if anyone has any experience with this new tech.

    1. 1

      I’ve used it. It’s not quite as nice as Phoenix LiveView (which inspired Hotwire), but it’s much more productive than a separate API + React front-end. JS just doesn’t have the meta programming capabilities that Ruby does that made it possible to write Rails.

  60. 1

    That's like don't learn assembly or don't learn C...

    You look at F35's cost per line of code and you'd wonder why you even bother learn js or do any other job...

  61. 1

    Hello!

    Off-topic question - I'm a new user on Indy Hackers and haven't figured out all the tricks yet, how can I publish a post like this with a picture, an announcement, and a headline like yours? Can you suggest?)

    1. 1

      this (the above post) is a link post. just click on "new post" and then you'll see there's an option of submitting a "text" post or a "link" post.

  62. 1

    Wrong. Or the title is at least.

    React is an amazzzzing tool to help you build scalable indiehacker apps and websites.

    Now I agree that HTML, CSS, JS, and other fundamental web concepts are important to know before learning React.

    Please fix the title. It is absolutely misreading and most of the people commenting here are just annoyed with you.

    1. 1

      what is the distinction between an "indiehacker app or website" versus a regular app or website?

      1. 1

        But yes, I sew what you mean. React is great for a lot of things! ✨

        Just when talking about SaaS websites and applications, React is awesome for it

      2. 1

        Meaning a site made by indiehackers.

        For example NBA.com isnt made by indiehackers, but plausible.io is.

  63. 1

    You still need to learn css and understand html with react

  64. 1

    Even if React was to loose popularity in the short term, it's so popular that it will not go away anytime soon

  65. 1

    hmm...although React is used widely, people don't seem that satisfied by it as they once were.

    The framework I've seen really pick up steam against it recently is Vue. The only drawback of it would be there is just less documentation and community compared to React and Angular. However, it is easier to understand and going get with compared to React/Angular (but overall there is a lot of overlap between these frameworks, namely that all 3 are using JS behind the hood).

    1. 1

      A small warning about frameworks like Vue. If the user's browser is old, Javascript is disabled, or some javascript file fails to load, then you're likely end up with a blank page.

      I saw advice a year or so ago, that you should try to make the website work okay without javascript, and use javascript to enhance the UX

      1. 2

        I'd say tiny warning. If user is about to use a web app, JS turned On is a must, in 99.9% cases. Trying to serve 100% visitors is not a good idea for solopreneour, so, my suggestion would be to just show the "please turn on JS" warning if JS is off.

        1. 1

          IIRC, his argument was that a sizable number of those who supposedly don't have Javascript enabled, actually do, but the Javascript file(s) fail to download. You may have experienced this, when a site started working properly after you hit the refresh button...

        1. 1

          No idea about nuxt. I tried Vue out with an outdated browser (good enough for Bootstrap 3 & jQuery), and every Vue example site completely failed with a blank screen.

          1. 1

            Any JS framework fails with the browser that doesn't support Javascript. You can probably fix this by using server-side on your website.

            1. 2

              True, although it's not just a does/doesn't support Javascript issue. The browser I tested Vue with has Javascript, it's just several years out of date.

              Some frameworks/designs fail more gracefully than others. Vue stuck out, because I ended up with a completely blank page.

  66. 0

    This might be an unpopular opinion given the comments on this article, but I have to say that I totally agree. I started web developing with vanilla javascript, but quickly jumped on the react bandwagon. Learned it, made some production stuff with it.

    But as I grew as a developer, I found myself looking for simpler alternatives. In the end I retraced my steps back to plain old html, css, and javascript. People fail to realize that you don't need advanced tools to make complex stuff. You just need to be a good developer, plain and simple. If you master the basics, you can build anything you want with them.

    I find this especially true for indie developers. We don't have to work with big teams, so we can just avoid doing what everybody else is doing, and focus on what works for us.

  67. 0

    I have never read anything of this kind before.
    Impressed!

  68. 0

    This seems to be clearly wrong to me. What exactly is the author proposing? Learn Vue or Svelte instead?

    You are unhireable (or seriously disadvantaged) if you can't use a javascript framework, and all frameworks have the "issues" he outlined.

    Yes, developers not knowing what is going on under the hood is a problem, but that's a caveat of everything -- even Java hides consequential abstractions from you.

    "Reacts days are numbered" isn't a good argument. Almost every technology stack's days are numbered.

  69. 0

    ... unless you are front end web developer.

  70. 0

    I think React is getting more trendy now. Why not bother learning it?

  71. 0

    Agreed. Learn Vue 3 and the composition API.

  72. 0

    Very interesting read. Thank you for this useful insight. I just wish some private colleges in Zagreb would heed this advice and stop teaching students React and get with the times...

  73. 1

    This comment was deleted a year ago.

  74. 1

    This comment was deleted a month ago.

  75. 1

    This comment was deleted a year ago.

  76. 1

    This comment was deleted a year ago.

Trending on Indie Hackers
How I grew a side project to 100k Unique Visitors in 7 days with 0 audience 47 comments Competing with Product Hunt: a month later 33 comments Why do you hate marketing? 27 comments $15k revenues in <4 months as a solopreneur 14 comments Use Your Product 13 comments How I Launched FrontendEase 13 comments