YoVDO

React: Comprehensive Guide to Modern Web Development

Offered By: Udemy

Tags

React Courses Web Development Courses Typescript Courses Redux Courses Middleware Courses Routing Courses HTTP Requests Courses

Course Description

Overview

Become a Web Developer with mastery over React. Learn latest ReactJS concepts - Redux, React Router, JSX, Webpack, more.

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


Taught by

Uplatz Training

Related Courses

Desarrollo de Aplicaciones Mobile Multiplataforma con Nativescript, Angular y Redux
Universidad Austral via Coursera
Build a Web App incorporating React and Redux Hooks
Coursera Project Network via Coursera
Build a Web App using React and Redux
Coursera Project Network via Coursera
JavaScript Libs/Frameworks
City College of San Francisco via California Community Colleges System
Learn Redux
Codecademy