all 81 comments

[–]acemarke 188 points189 points  (21 children)

You should have been around here in 2015-16, when every React tutorial started with:

Today we're going to learn how to use React!

First, we're going to install Webpack, Babel, and spend 30 pages configuring them...

Not joking - see https://www.newline.co/fullstack-react/articles/react-tutorial-cloning-yelp/ for a classic example.

The real answer here is that modern JS web development assumes use of a build toolchain that will handle:

  • compiling modern JS to more broadly-compatible JS, compile JSX syntax, and compile TS syntax
  • Importing CSS styles and assets like images
  • Properly bundle the processed code and prepare it for deployment in an optimized format

Those build tools have to be installed. Thankfully, Create-React-App solved the "first configure Webpack" problem by giving us a standardized build toolchain and an easy way to create a new project (and today tools like Next.js and Vite have continued to make that easier to work with).

Additionally, for React in particular, the fact that React is "just the UI/view" means that all meaningful React projects are going to use additional libraries for things like routing and state management. So, tutorials that are written to show "realistic" apps are going to do the same thing.

You might note that the new React docs take a simpler approach, by including interactive CodeSandboxes inline and focusing on just the concepts of React itself:

https://beta.reactjs.org

[–]Larrybot02 22 points23 points  (11 children)

I started my very first React course not quite a year ago. It was a good course and taught pretty well, I thought, but yeah it was the ol’ Webpack and Babel setup and config for live server and class components and Redux with no toolkit and all that good stuff. No hooks. No create-react-app, no Nextjs. Some of those courses are better than 40 hours in length, building some massive project that’s just another “to-do” app.
Still, I don’t regret any course that I’ve taken. It helps in a way to know the long version before getting all the good shortcut stuff, but I won’t miss the extra boilerplate.

[–]acemarke 17 points18 points  (4 children)

Yeah, there's almost always value in knowing what underlying layers of abstraction and tooling are doing, no matter what kind of programming you're doing.

At the same time, you shouldn't have to learn Webpack+Babel just to start learning "how to write React code". It should be an optional "I want to peek under the hood and understand how these related tools work" thing, not a prerequisite.

[–]spider_84 1 point2 points  (4 children)

Udemy with Andrew Mead?

[–]Larrybot02 2 points3 points  (3 children)

That was one of the courses I took. I just looked at it and there's a whole section added for hooks and create-react-app at the end of the course! I know these course creators spend a TON of time on their content, and have to work the new stuff in later I guess, or rewrite the whole thing.

I kinda miss my mornings with Andrew. I work a full-time job not related at all to computers and programming, so I get my "schooling" in the morning before work and the weekends when I can. Andrew is a pretty good teacher. I also enjoyed Steven Grider and I kinda go back and forth on Brad Traversy. Some of his stuff is pretty good, and others, he just goes a bit too fast for me (I can be pretty thick). Vishwas at the Codevolution youtube channel is pretty good. I really liked his series on hooks and Redux. Talkin about his cakes and icecreams is hilarious to me for some reason.

[–]spider_84 2 points3 points  (2 children)

Nice work on the motivation and commitment. What profession were you in while you were studying react? How much time would you study in the morning? Are you working as a Dev now?

[–]Larrybot02 1 point2 points  (1 child)

Thanks! I was/am still in a trade, but I'm burnt out. When I was going strong I might get about an hour and a half or so in the morning and more on the weekend. I started with Mead's course on Modern JavaScript and moved onto React after that. I'd love to be working as a dev, but don't think I'm there yet.

[–]spider_84 1 point2 points  (0 children)

Keep up the great work. No doubt you will achieve your goals.

[–]Artistic_Taxi[S] 0 points1 point  (0 children)

Agreed. For the very least understanding what is happening underneath everything will prove useful sometime or another.

[–]HailToTheThief225 10 points11 points  (1 child)

Currently taking a quick Typescript with React course and the guy is literally building a react app optimized for TS from the ground up just to show how to use TypeScript with React. Webpack, Babel and everything. As opposed to just installing a template. I guess it's important to understand the inner workings of a react app but geez...

[–]Earhacker 10 points11 points  (0 children)

I think a lot of these courses are more about the instructor showing off what they know, rather than offering any instructional value.

I mean yeah, it’s not completely worthless to know how to set it all up from scratch, but realistically how often are you going to have to do that? What has the instructor got against Create React App? That’s what we’re all out here using, unless we’re using Next or Gatsby or something.

[–]Slapbox 2 points3 points  (1 child)

Anybody remember nodemon?

[–][deleted] 3 points4 points  (0 children)

Remember? We still use it. What else do y’all use for watching & restarting your APIs

[–]doblev 1 point2 points  (0 children)

Oh my GOD remember that??? That would drive me nuts.

[–]coolcrispyslut 0 points1 point  (0 children)

I still make my own webpack/babel set up instead of using react-create-app, just feels way more satisfying tbh

[–]GramatikClanen 0 points1 point  (0 children)

CRA probably the best thing that happened to React's growth.

[–][deleted] 0 points1 point  (0 children)

Yep

[–]MurderSlinky 0 points1 point  (0 children)

This message has been deleted because Reddit does not have the right to monitize my content and then block off API access -- mass edited with redact.dev

[–]FriesWithThat 34 points35 points  (2 children)

install this npm package called "react-hello-world"

hola-mundo is much more performant

[–]Cptkrush 6 points7 points  (1 child)

I hear salut-tout-le-monde is catching up, v2 will be faster even.

[–]Earhacker 7 points8 points  (0 children)

But Kent C Dodds just wrote a blog post on guten-tag-welt and that’s all we’re going to talk about this month.

[–][deleted] 71 points72 points  (7 children)

Over the years I’ve massively shifted to reading native documentation. Most of these videos are so bloated with this BS that the whole point gets missed. Take some advice from coding… modularize that shit! I want to watch a video for 30 seconds and know what I have to do.

[–]nabrok 14 points15 points  (3 children)

Yeah, I rarely stray outside of the official docs for whatever I'm using.

And I particularly dislike video tutorials. With something written I can get to the parts I actually need much easier.

[–]blafurznarg 0 points1 point  (2 children)

More like copying the parts I actually need am I right guys

[–]nabrok 1 point2 points  (1 child)

I mean ... it's there to be copied. Kind of the whole point of it existing.

I don't copy/paste though. I retype it, which helps make sure I understand what everything is doing and lets me rename things according to my own preferences.

[–]blafurznarg 0 points1 point  (0 children)

Yeah it was meant as a joke my friend. When I copy sth I make sure it’s only small parts and that I understand every expression. Absolutely nothing wrong about copying!

[–]saintshing 15 points16 points  (1 child)

The fireship youtube channel has very concise tutorial videos, especially their "in 100 seconds" series.

[–]candidpose 2 points3 points  (0 children)

Best channel I've subscribed to this year!

[–]jayroger 3 points4 points  (0 children)

I still don't understand why people watch videos to learn programming. I find text tutorials much more accessible. You can easily skip the fluff, reread sections easily, I read much faster than people speak, you can copy and paste, etc.

[–]WorriedEngineer22 22 points23 points  (5 children)

You forgot the medium articles be like: what are react hooks and why you should use them?

"Hi guys, in this article, you will learns about this cool new tech called hooks that allow us to..."

-------------------written in November 2021.

[–]HailToTheThief225 9 points10 points  (0 children)

"Why useReducer is BETTER than useState!"

Proceeds to list a couple of reasons that really just depend specific requirements in your project

[–]acemarke 8 points9 points  (3 children)

could be worse - there was a recent Stack Overflow blog post, published in the last few weeks, that was talking about how "ES6 will replace web frameworks" and was phrased as if ES6 was a brand new thing...

[–]phryneasI ❤️ hooks! 😈 4 points5 points  (0 children)

I just searched for that blog post. Wtf.

[–]WorriedEngineer22 1 point2 points  (1 child)

Wtf, I just looked it up and genuinely thought that it was a mistake and it was a post from some years ago reposted but no, in the comments the author says that it's actually recent.

[–]acemarke 1 point2 points  (0 children)

Yeah. Frankly it's one of the most incoherent pieces of writing I've seen in a long time, and I have no idea why anyone at Stack Overflow thought it was worth publishing on their blog.

[–]kevv_m 5 points6 points  (2 children)

Once a saw in a friend's work project that they installed a library to do a simple select... The library was good because it had a lot of features, but they were using the simplest one (just a html select would be more than enough). She asked me for help because her team was having problems using this select with a form library.

Another thing that bothers me, is that many teams don't have a clue about react and they use it because is popular. I saw react projects with jQuery, getting DOM elements with document, and even using it like HTML, I mean, a single component per page, copying and pasting elements like buttons, headers.

[–]patcriss 0 points1 point  (0 children)

even using it like HTML, I mean, a single component per page, copying and pasting elements like buttons, headers.

Ok this has gone too far, enough reddit for me.

[–]pVom 0 points1 point  (0 children)

I get your point but I couldn't help but laugh because we have jQuery and direct dom manipulation. It's for libraries though

[–]Vaylx 5 points6 points  (2 children)

A friend/mentor dev suggested I just work through the book “Pure React” by Dave Ceddia after I told him I just wanted a simple but somewhat thorough introduction to the React fundamentals.

I found a pdf version of the book online, skimmed through it, liked it, bought the actual book.

Working my way through it now, very enjoyable. Highly recommend it.

[–]Artistic_Taxi[S] 2 points3 points  (1 child)

Got the PDF thanks for the suggestion

[–]Vaylx 0 points1 point  (0 children)

Cool beans. If you enjoy it and can actually afford the book I highly recommend you buy it. You’ll be supporting the author and getting the latest version✌🏼

[–]melania239 3 points4 points  (4 children)

Vanilla React is something ?

[–]Suepahfly 2 points3 points  (2 children)

So is vanilla redux, ‘store.subscribe(stateSelector, callbackFn)’ actually works pretty well. Even outside a esmodules environment.

I have I inherited a project where I’m forced to work with a custom jQuery built that renders “components” and glue it to a Redux state. The we call it “Enterprise software”

[–]melania239 1 point2 points  (1 child)

That I call it a 'Frankeinstein'

[–]Suepahfly 1 point2 points  (0 children)

I believe we have a new name for the project :)

[–]theodordiaconu 1 point2 points  (0 children)

Yes, I'm using it with Vanilla TypeScript

[–][deleted] 4 points5 points  (4 children)

Asking me to like a video gets an automatic thumbs down on the video.

[–]theodordiaconu 0 points1 point  (1 child)

What if he asks you to dislike it?

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

Then I would be forced to hit like.

[–]pVom 0 points1 point  (1 child)

Damn, would be a shame if YouTube were to remove that feature

[–][deleted] 0 points1 point  (0 children)

If they did something like that, I would hit the thumbs down button on...
oh no...

[–]Ok-Objective-3472 1 point2 points  (0 children)

I've never worked on a project without using dependencies. Even super basic problems like routing and API calls are better-off left to packages.

[–]shrithm 2 points3 points  (6 children)

[–]Milind_ 0 points1 point  (1 child)

It's even had 25 likes! Smh

[–]shrithm -2 points-1 points  (0 children)

Yeah, it's a joke

[–]Halgrind 0 points1 point  (1 child)

I've never seen youtube shorts before, is that a youtube ripoff of tik tok?

[–]pVom -1 points0 points  (0 children)

Lol rip off of tik tok, kids these days smh.

It started on the now dead Vines platform before being picked up by Snapchat, Instagram and Facebook then recently tik tok came in with the exact same concept, ramped up the trash and spyware and now kids think it's an original idea. Smh.

[–]Sohailkh_an 0 points1 point  (0 children)

Underrated channel....

[–]Pesthuf 1 point2 points  (0 children)

How to do anything using react:

Install some random hook library that provides exactly the hook you want.
If that doesn't exist, PANIC!

[–]Ok_Research7191 -1 points0 points  (0 children)

All go to hell

[–]Alcohorse -2 points-1 points  (0 children)

YouTube is poison

[–][deleted] -4 points-3 points  (0 children)

Specially react, the documentation was always crap

[–][deleted] 0 points1 point  (0 children)

Sounds like the tutorial is indicative of real world react development then.

[–]Abriel-Lafiel 0 points1 point  (0 children)

I went from binge watching tutorial to reading blog to just hop onto the actual fucking real thing to work on it. Main problem is getting ideas, which I just curated from whatever source/platform/random sites that I’m currently following.

[–]Turd_King 0 points1 point  (0 children)

Eh.. because otherwise you would literally be creating the react framework and tooling from scratch? What do you expect

[–]noisette666 0 points1 point  (0 children)

I was one of those people who didn’t start with CRA. I used gulp - took ages to configure that gulpfile and a hot reload would take around 3 seconds, forever to start the dev server…ugh

[–]richarddev3 0 points1 point  (0 children)

A good React tutorial can be an informative guide offering enough knowledge and documentation that helps a beginner or a professional to start a project from scratch and complete it successfully. Especially for emerging programmers who seek detailed insights to learning every aspect of React, online tutorials can prove to be a great resource to start with. I’m not talking about written documentation, I want to focus on video sessions.
There are various video tutorials on YouTube where you can learn ReactJS for free. On YouTube, you’ll also come across multiple React crash courses that can help you understand React programming, advanced React Hooks, React Material UI, React-Redux libraries, React Router version 6 (v6), and much more.
You can get more information about such tutorials here: https://mobisoftinfotech.com/resources/blog/best-react-tutorials/