What you'll learn:
- Define React and why it's important
- Examine the fundamental architecture of a React application
- Learn how to use React components to create interactive interfaces
- Build large-scale applications with React JS and Redux
- Create and validate forms using controlled components
- Make HTTP requests to read or update data
- Use ReactJS with TypeScript
- Examine common component architectural patterns
- React Component Lifecycle
- Setting Up React Environment, Webpack, Configure babe, Transpile and bundle your component
- Forms and User Input
- Learn about React AJAX call
- Communication Between Components and Stateless Functional Components
- Use reusable components to create composable user interfaces
- Performance measurement with ReactJS, React's diffs algorithm
- Learn Server-Side Rendering
- Use React with Flow
- Use a React JavaScript package manager to create performant, interactive, and data-driven online apps
- Learn about the new JavaScript language features, such as classes, modules, and arrow functions
- Create reusable, common logic for usage in the app ecosystem
- Create dynamic components that communicate with APIs and services
- Learn how to use React components to create interactive interfaces
- Implement Redux and middleware such as redux-thunk and React Saga
- Configure basic and sophisticated routing
- Examine common component architectural patterns
- Learn to incorporate React best practices
A warm welcome to the React course by Uplatz.
React is a JavaScript library, developed in 2013 by Jordan Walke of Facebook. You’ll find React is both very popular (it’s the 5th most starred JS library on GitHub) and used on major sites including on Facebook and Netflix.
What is ReactJS?
ReactJS is an open-source, component based front end library responsible only for the view layer of the application. It is maintained by Facebook. ReactJS uses virtual DOM based mechanism to fill in data (views) in HTML DOM. The virtual DOM works fast owning to the fact that it only changes individual DOM elements instead of reloading complete DOM every time.
In other words, React JS is a JavaScript library used in web development to build interactive elements on websites.
A React application is made up of multiple components, each responsible for outputting a small, reusable piece of HTML. Components can be nested within other components to allow complex applications to be built out of simple building blocks. A component may also maintain internal state - for example, a TabList component may store a variable corresponding to the currently open tab.
React allows us to write components using a domain-specific language called JSX. JSX allows us to write our components using HTML, whilst mixing in JavaScript events. React will internally convert this into a virtual DOM, and will ultimately output our HTML for us.
React "reacts" to state changes in your components quickly and automatically to rerender the components in the HTML DOM by utilizing the virtual DOM. The virtual DOM is an in-memory representation of an actual DOM. By doing most of the processing inside the virtual DOM rather than directly in the browser's DOM, React can act quickly and only add, update, and remove components which have changed since the last render cycle occurred.
Relationship between JavaScript and ReactJS
To understand the relationship between JavaScript and ReactJS first we need to understand what is JavaScript. JavaScript (or JS) is a scripting language used to create and control dynamic web content. Dynamic web content includes things like animated graphics, photo slideshows, and interactive forms. Anytime you visit a website where things move, refresh, or otherwise change on your screen without requiring you to manually reload a web page, there’s a very good chance JS is the language making it happen. Hence, JavaScript is a super important coding language used to add animated and interactive features to websites or web applications (on top of the basic, static structures created by languages like HTML and CSS). From the definition above, we can see how JavaScript plays a critical role in website and web application development. But there are times when you need JavaScript to perform repetitive functions—things like stock animation effects or autocomplete search bar features. Re-coding these functions every time they occur becomes a “reinventing the wheel” situation. This is where JavaScript libraries come in.
JavaScript libraries are collections of pre-written JavaScript code that can be used for common JS tasks, allowing you to bypass the time intensive (and unnecessary) process of coding by hand. If there’s a run-of-the-mill JavaScript function that you keep needing to code (and that other developers before you have needed for their own projects) there’s probably a JS library to ease your pain.
In simple words, there are a lot of different JS libraries out there and React JS is one of them. React is a JavaScript library that specializes in helping developers build user interfaces, or UIs. In terms of websites and web applications, UIs are the collection of on-screen menus, search bars, buttons, and anything else someone interacts with to USE a website or app. In addition to providing reusable React library code (saving development time and cutting down on the chance for coding errors), React comes with two key features that add to its appeal for JavaScript developers:
JSX - JSX (short for JavaScript eXtension) is a React extension that makes it easy for web developers to modify their DOM by using simple, HTML-style code.
Virtual DOM - DOM is the process that makes things “change” on screen without a user having to manually refresh a page. If a developer uses JSX to manipulate and update its DOM, React JS creates something called a Virtual DOM. The Virtual DOM (like the name implies) is a copy of the site’s DOM, and React JS uses this copy to see what parts of the actual DOM need to change when an event happens (like a user clicking a button).
Course Objectives
React is a declarative, efficient, and flexible JavaScript library for building Web Applications.
It follows component-based approach.
Easy to create smaller components and build large-scale applications.
The main goal is to build large-scale high-performance applications with smaller and reusable stateful components.
The main objective of React Training is to create smaller components to build Interactive User interfaces.
Why Learn ReactJS?
ReactJS presents streamlined solutions to some of front-end programming’s most persistent issues. ReactJS is fast, scalable, flexible, powerful, and has a robust developer community that’s rapidly growing. There’s never been a better time to learn React.
React - Course Curriculum
Introduction
What is ReactJS?
Installation or Setup
Hello World with Stateless Functions
Absolute Basics of Creating Reusable Components
Create React App
Hello World
Hello World Component
Components
Creating Components
Basic Components
Nesting Components
Props
Component states - Dynamic user-interface
Variations of Stateless Functional Components
setState pitfalls
Using ReactJS with TypeScript
ReactJS component written in TypeScript
Installation and Setup
Stateless React Components in TypeScript
Stateless and property-less Components
State in React
Basic State
Common Antipattern
setState()
State, Events and Managed Controls
Props in React
Introduction
Default props
PropTypes
Passing down props using spread operator
Props.children and component composition
Detecting the type of Children components
React Component Lifecycle
Component Creation
Component Removal
Component Update
Lifecycle method call in different states
React Component Container
Forms and User Input
Controlled Components
Uncontrolled Components
React AJAX call
HTTP GET request
HTTP GET request and looping through data
Ajax in React without a third party library - a.k.a with Vanilla
Communication Between Components
Child to Parent Components
Not-related Components
Parent to Child Components
Stateless Functional Components
Stateless Functional Component
Performance
Performance measurement with ReactJS
React's diffs algorithm
The Basics - HTML DOM vs Virtual DOM
Introduction to Server-Side Rendering
Rendering components
Setting Up React Environment
Simple React Component
Install all dependencies
Configure webpack
Configure babe
HTML file to use react component
Transpile and bundle your component
Using React with Flow
Using Flow to check prop types of stateless functional components
Using Flow to check prop types
JSX
Props in JSX
Children in JSX
Keys in react
Using the id of an element
Using the array index
Higher Order Components
Higher Order Component that checks for authentication
Simple Higher Order Component
React with Redux
Using Connect
React.js Interview Questions & Answers
What you will learn in ReactJS course?
You’ll develop a strong understanding of React’s most essential concepts: JSX, components, and storing information via props and state. You’ll be able to combine these ideas in React’s modular programming style.
By the end of the ReactJS course, you'll be able to learn:
How the React command-line development tools work
How to build components using both classes and Hooks
How to create views using the JSX syntax.
How to structure code using the Container Presentation pattern
How to add Typescript support to a React project
How to fetch Json data from a remote API
How the component lifecycle works
How to build a project with the React Router
How to isolate application state with Redux
How to write unit tests for your React code