Welcome! If you're reading this, you have probably been told that React is the best thing since the internet. Or maybe you're a little React curious: you're coming from another front-end framework like Ember, Backbone, or Angular and wondering if there may be a better way. Perhaps you have thousands of lines of messy code written in jQuery and you know that there must be a better way. Unfortunately, this article will not be making grand statements about how React is the answer to all of your problems. However, you will be getting some suggestions and resources that will help you to build a solid foundation before you dive into the world of React development.
React is a very popular framework today, and rightfully so. Once you are comfortable with it, the experience of writing a web application becomes downright enjoyable. The community of React developers is vibrant. The pace of change in the framework is fast (maybe a little too fast at times) but well supported by Facebook and the open source community. Most importantly, it allows you to focus on simple pieces of functionality that can easily be composed and reused throughout your application.
I really enjoy writing code with React, and I want you to have the best experience possible as well. So before you dive into a React tutorial (like our free online React course), I have put together a list of five topics that are very important to understand before trying to tackle React.
After you master the fundamentals, next up is the keyword
this, but you'll bump into it often while dealing with code in React. This is another crucial building block that you need to understand in order to really master React.
3. Object Oriented Programming
This may be a bit of a controversial topic to include in this list. After all if you have heard about React, you have probably heard it mentioned in conjunction with functional programming (which is a much different programming paradigm than object oriented programming). Although some basic understanding of functional programming concepts are important for React development, I actually think React really clicked with me because it was so similar to object oriented programming (OOP) in many ways. Concepts like encapsulation and abstraction which are fundamental to OOP translate very well to React.
Here is a short list of features you will want to master before diving in:
5. Functional Programming Concepts
Last but not least is functional programming. The most important concepts from functional programming to understand is the idea of immutable data and pure functions. Data is immutable if you cannot change it once it has been created. React takes advantage of immutable data heavily since all props (a React concept) are immutable and state (also a React concept) should also be considered immutable and only updated with the React
Functional programming is a dense concept with lots to learn, but beyond learning about immutability and pure functions, learning more about functional programming may be more than you need to get started. To get a quick intro of just what you need to get started, check out our Introduction to Functional Programming chapter. If you get excited about functional programming, and you want to read about it in a lot more depth, then check out Professor Frisby's Mostly Adequate Guide to Functional Programming. The book will definitely give you a lot more depth on functional programming than you'll need to get started with React, but it is a valuable read if you have the time.
Wrapping it Up
That's all! Five topics that are sure to be a huge help once you get started with React. If you are feeling comfortable with all of the topics in the list. The next step would be to start making some applications with React. Rithm School's React Course is a great way to get started. Facebook's documentation also has a great getting started guide that you should check out. Good luck!