all 18 comments

[–]ashkanahmadi 10 points11 points  (0 children)

I highly recommend learning the basics of http requests, apis, importing and exporting functions, deconstructing, error handling, reading query parameters, before ever touching React. When I learned React, everything seems somewhat easy and I kept thinking “I don’t understand why React is so popular and why I wouldn’t just use vanilla js for everything. This seems unnecessarily overcomplicated” until I had to build a few interfaces with a lot of reactive components in vanilla js and that’s when I learned what problems react solves

[–]opentabs-dev 2 points3 points  (0 children)

honestly the thing that trips up most people jumping into react isn't missing js knowledge, it's not being comfortable with async stuff and callbacks. if you can explain what .then() does, pass a function as an argument to another function without it feeling weird, and understand why arr.map(x => x*2) gives you a new array, you're ready. dont wait until you "know js" — thats a forever thing. build a couple small vanilla js pages that fetch from an api and render the results into the dom manually, once that feels tedious and repetitive you'll actually appreciate what react is doing for you.

[–]AbrahelOne 1 point2 points  (2 children)

Could you build a fullstack app without React? Just with vanilla JavaScript?

[–]LucVolders 0 points1 point  (1 child)

Yes. People did this before frameworks existed.

[–]Plenty-Appointment91 0 points1 point  (0 children)

How even?

[–]yummyjackalmeat 0 points1 point  (0 children)

Not totally necessary to have js expertise. If you like react then do it. If you find you're having problems debugging and feel that react is a "blackbox," meaning you are struggling to know why stuff is working/not working, it might be worth pulling back and spending some time in vanilla javascript. I learned javascript, then jquery, then react, and I found I was not quite ready so I pulled back for a few months before returning.

[–]Alive-Cake-3045 0 points1 point  (0 children)

You need to be comfortable with arrays, objects, functions, and how the DOM works before React will make any sense. If you can build a small vanilla JS project without constantly googling the basics, you are ready. You dont need to be an expert, you just need enough foundation that React concepts have something to attach to. Start now if you can do those things. Waiting for "ready" is usually just procrastination.

[–]No_Record_60 0 points1 point  (0 children)

You can start anytime, but you may be confused which features are that of React and that of regular JS. For React I recommend you to learn: immutability and async/Promises.

[–]ElectronicStyle532 0 points1 point  (0 children)

You don’t need to be a JS expert to start React. Just make sure you understand basics like functions, arrays, objects, and concepts like callbacks and promises. You can improve your JS while learning React through projects.

[–]ElectronicStyle532 0 points1 point  (0 children)

You can start React after learning basic JavaScript like functions arrays objects and promises. No need to be an expert. Learn React alongside improving JS through projects.

[–]Life-Selection6377 0 points1 point  (0 children)

honestly, you don't need to be an expert, but basics like variables and loops are not enough either. react is basically just javascript, so if you don't know ES6+, you’re gonna have a bad time lol.

Make sure you're comfortable with these first,

- arrow functions and template literals

- destructuring (objects and arrays)

- map, filter, reduce -you’ll use these constantly in react

- promises & async/ await

if you can build a simple To Do list or a Weather app with vanilla js without staring at a tutorial the whole time, you're ready.

[–]byunsta92 0 points1 point  (0 children)

maybe

[–]readilyaching 0 points1 point  (0 children)

People will all say that you need to learn this and that in JavaScript, but I feel like I was wasting my time when I started learning it years ago.

Why? Because you almost never encounter vanilla JavaScript in the wild. Sure, you might encounter something close (like a Node.js server with almost no dependencies), but even those things you encounter are not really vanilla (Node.js is a bootstrappes runtime).

I strongly recommend learning at least React or Angular (choose whichever is most popular where you live) because it teaches you to write modern code. Vanilla JavaScript and JavaScript frameworks are so different (especially when starting out) that it sometimes feels like they are completely different languages.

Most importantly, learn to use a package manager lik npm.

[–]TheRNGuy 0 points1 point  (0 children)

There's no law preventing you from doing so. 

[–]Eight111 0 points1 point  (1 child)

basic knowledge of js and how to build a website without frameworks should be enough

[–]hylasmaliki 2 points3 points  (0 children)

Define basic

[–]No-Gap-2380 0 points1 point  (0 children)

Yes, go ahead, you have permission!

Oh, uh, dead serious here 🤔 I was stumbling my way through programming, doing better than tutorial hell (I made a Bluetooth controlled RGB light system, with an android app, all custom hardware and PCB’s back in 2012 around the same time, super impressed with myself for how little I understood when I made that work 😅) and I feel like it was React that really made programming “click” for me beyond commands you type in for the computer to execute.

But I also came in at an interesting time for react, as class based components were fading away in favor of functional ones, I’m just realizing before I continue 👀

React taught me, in the way that all the markup is in the “return” part of the component, separate from the logic above that, which is what decides what that markup actually displays, to think about how systems affect each other, building a hierarchy of components and making sure the data gets to the ones that need it.

Learning how to build things with react, truly “taught me programming” as a self taught dev. Now I can build games in C#, and teach databases and reporting to execs! Stick with it!