DEV Community

Cover image for  JavaScript vs React Fundamentals
Yonatan Kawo
Yonatan Kawo

Posted on

JavaScript vs React Fundamentals

I recently completed a React Portfolio project and thought it would be fantastic to share my journey with the rest of the world.

Basic JavaScript Concepts

My initial project was JavaScript(JS)-based, and it should be considered garbage in the world of web developers. At the time, I thought I had mastered the frontend web development by creating a simple JS app. Friends, that's an example of "a little knowledge is dangerous" and please do not be this guy :).

Anyway, what are some of the fundamental JavaScript concepts that every programmer should understand? The next stage of web development would be incredibly difficult without a thorough knowledge of these fundeamentals. So, the followings are the basics of JS:

  • Variables
  • Comparisons
  • Logical Operators
  • Functions(callback function)
  • Data Structures & Types

Note 1: I cannot emphasize enough the importance of networking and participating in various web development communities in order to enhance one's coding skills - a lesson I learnt the hard way.
Note 2: Understanding GIT and GITHUB as well as learning programming languages, go hand in hand.

Basic React Concepts

I didn't appreciate the significance of JS core concepts until I began working with React, the next stage of frontend web development. At a high level, I picture JS being the backbone of React just as HTML is for JS.

Similarly, in order to have a solid understanding of React's essential notions, one must be familiar with the following core concepts:

  • JSX(JavaScript XML)
  • React Elements
  • Components & Props
  • State & Lifecycle
  • Handling Events
  • Conditional endering
  • Lists & Keys
  • Forms
  • React-router

Finally, if you feel you have completed React, you should be able to explain:

  • The difference between React and plain JS
  • Types of React hooks
  • How to modify React State hooks
  • The three ways to use React useEffects
  • The difference between Props and States
  • The difference between HTML DOM(Document Object Model) & Virtual DOM

Conclusion

If I could start over my programming journey, I'd start with HTML(HyperText Markup Language) and CSS(Cascading Style Sheets), then go on to JavaScript. Before diving into React, I'd make sure I understand the connection and interdependencies between HTML, CSS, and JavaScript. More importantly, I won't start React if I'm not comfortable with JavaScript.

Top comments (2)

Collapse
 
joaolss profile image
João Lucas Silva

In my opinion, the two most important JS fundamentals in a React hooks era is

  • Reference equality (this will govern when your hooks and your components will be updated)
  • Closures (this will govern how your hooks work, which data they have access, and which side effects you should see)

Otherwise great article!

Collapse
 
yonatankawo profile image
Yonatan Kawo

Great points! My article is meant for beginners, and I believe your observation goes beyond that.