What is this course about?
React is an open-source JavaScript library to help us build interactive UIs (User Interfaces), released in 2013. It emerged as a client-side technology, but is nowadays being used on the backend as well.
Initially, it was developed by a team of engineers at Facebook to be used internally within Facebook, but then later on as developers at Instagram wanted to use this awesome tool in Instagram too, Facebook decided to decouple React from being its proprietary technology to an open-source library.
React is extremely easy to get started with. It doesn't have a steep learning curve, believe it. People generally regard React to be slightly more complex than Vue.js while much simpler than Angular. Regardless, React is intuitive, has a breathtaking potential, and is extremely performant. The most notable features of React include the virtual DOM, the idea of using components to compose UIs instead of templates (as in other UI frameworks), immutability of data, uni-directional data flow, a system of synthetic events wrapping native DOM events, and much more.
The ecosystem of React is also pretty huge and diverse. Once you learn React, you unlock your way into a whole new world full of libraries and tools made to work alongside React and simplify the development process considerably. Learning React can also land you in developing applications for Android and iOS, thanks to React Native.
Today, there is an immense scope of React in the job market out there. Almost every other job lists React as a prerequisite (because it is awesome!). Likewise, investing your time in learning this astoundingly remarkable tool would definitely be a smart choice.
What will you learn in this course?
React is a simple-to-learn library. But this doesn't mean that there's almost nothing to learn in there. There is a good amount of knowledge that one needs to grasp in order to be able to work with React effectively.
By the end of this course, here's what you'll know:
- What is the challenge of building UIs in vanilla JavaScript and why we need a tool like React to abstract all of its complexity and tediousness.
- What exactly is React and whether it's a library or a framework.
- How to set up the environment for coding React applications, with the help of Visual Studio Code, Rollup, Babel,
serve
from npm, and a couple other related tools. - How to construct a simplistic React program from absolute scratch.
- What is JSX and how to construct a React program with JSX, and why is Babel needed before we could run JSX code.
- Why is React termed as a 'declarative' library and what's the benefit of this approach over the imperative approach of building UIs using vanilla JavaScript.
- The basics of React, including elements, components, props, events, state, fragments, refs, and keys, and how to use all of these to create extremely complicated programs.
- What exactly are escape hatches and how to use them to escape out of the 'React mode'.
- What are hooks and how to use them to bring in given utilities and features to our function components.
Why should I take this course?
This course isn't like all the conventional courses out there teaching React. No. It's entirely different.
We want you to be able to fully-understand how React works under the hood as it abstracts the tedious task of putting together the various bits and pieces of a UI for us, and also understand the different features offered by the library to help build the UI.
Here's why you should definitely considering taking this course:
- Firstly, we work around a very simple and effective course layout. This makes sure that you learn React in the easiest way possible and at the same time learn in a chronological order starting with the basics, then moving on to the intermediate stuff, and finally ending with advanced ideas.
- We explore each and every single topic in extreme detail. This can be confirmed by the length of each of the chapters of this course and the diversity of information covered therein.
- Moreover, we discuss the internals of React at multiple occasions which helps you appreciate why something works the way it does.
- We answer many common questions that arise in the minds of people learning React for the very first time, such as 'why are DOM-related props in React camel-cased', 'what is the difference between components and component instances', and so on. These, in turn, make you even more confident while working with React.
- All the course content is free to access, and contains quizzes and exercises to test your knowledge.
Prerequisites
-
HTML
Every then and now, we'll need to JSX code which requires us to be familiar with HTML.
-
CSS
Although CSS isn't directly associated with React, we'll also routinely use it to style our React applications.
-
JavaScript
JavaScript is integral to be able to develop any kind of a React application.