React: Comprehensive Guide to Modern Web Development

via Udemy

Go to Course: https://www.udemy.com/course/reactjs-training/

Overview

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 ReactJSTo 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 ObjectivesReact 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 CurriculumIntroductionWhat is ReactJS?Installation or SetupHello World with Stateless FunctionsAbsolute Basics of Creating Reusable ComponentsCreate React AppHello WorldHello World ComponentComponentsCreating ComponentsBasic ComponentsNesting ComponentsPropsComponent states - Dynamic user-interfaceVariations of Stateless Functional ComponentssetState pitfallsUsing ReactJS with TypeScriptReactJS component written in TypeScriptInstallation and SetupStateless React Components in TypeScriptStateless and property-less ComponentsState in ReactBasic StateCommon AntipatternsetState()State, Events and Managed ControlsProps in ReactIntroductionDefault propsPropTypesPassing down props using spread operatorProps.children and component compositionDetecting the type of Children componentsReact Component LifecycleComponent CreationComponent RemovalComponent UpdateLifecycle method call in different statesReact Component ContainerForms and User InputControlled ComponentsUncontrolled ComponentsReact AJAX callHTTP GET requestHTTP GET request and looping through dataAjax in React without a third party library - a.k.a with VanillaCommunication Between ComponentsChild to Parent ComponentsNot-related ComponentsParent to Child ComponentsStateless Functional ComponentsStateless Functional ComponentPerformancePerformance measurement with ReactJSReact's diffs algorithmThe Basics - HTML DOM vs Virtual DOMIntroduction to Server-Side RenderingRendering componentsSetting Up React EnvironmentSimple React ComponentInstall all dependenciesConfigure webpackConfigure babeHTML file to use react componentTranspile and bundle your componentUsing React with FlowUsing Flow to check prop types of stateless functional componentsUsing Flow to check prop typesJSXProps in JSXChildren in JSXKeys in reactUsing the id of an elementUsing the array indexHigher Order ComponentsHigher Order Component that checks for authenticationSimple Higher Order ComponentReact with ReduxUsing ConnectReact.js Interview Questions & AnswersWhat 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 workHow to build components using both classes and HooksHow to create views using the JSX syntax.How to structure code using the Container Presentation patternHow to add Typescript support to a React projectHow to fetch Json data from a remote APIHow the component lifecycle worksHow to build a project with the React RouterHow to isolate application state with ReduxHow to write unit tests for your React code

Skills

Reviews