Advanced React

Course Abstract - Advanced React
This course provides a deep understanding of the React framework and teaches how to build front-end web applications with rich UI/UX using React. A strong focus is given on the functional approach, a preferred style in React.
The course gives an overview of underlying architectural principles of React, clarifies details and differences of its fundamental concepts (class and functional components, state and properties, rendering, lifecycle methods, hooks, etc.) and explains when and how to apply them. The course also discusses common issues in building advanced apps such as dynamically composing UI, sharing information among UI components, and data entry and validation using forms. Testing, profiling and optimizing methods are also discussed.
There will be during the course exercise sessions in which participants will practice presented topics.
Content:
- React fundamentals
Architectural principles: React approach vs traditional app architectures
Short overview of building Web UI with React components
- Developer Tools
Understanding React components
Stateless and stateful components
Class vs functional components
Managing state and life-cycle of of class components
Reusing code: composition vs inheritance
Functional components and React hooks
Managing state using the State hook
Managing life-cycle using the Effect hook
Rules for using hooks
Creating custom hooks
Additional React hooks
Patterns for UI dynamic rendering
- List rendering
Children props and user-defined props
Conditional rendering
- Render props
Higher-order components
Routing and navigation using React Router
Lazy loading components
Introduction to app state management
The problem of app state and sharing information
Sharing state via props
Lifting component state up
Using React Context API
Using external state management frameworks
Data entry and validation
Building forms using standard form elements
Controlled vs uncontrolled components
- Data validation
Testing, profiling and optimizing
Testing: tools and recipes
- React Profiler API
Optimizing performance
Prerequisites
It is expected that participants already know the basics of HTML/CSS, JavaScript ES6 and Typescript, and have a good understanding of both object-oriented and functional programming concepts such as objects, classes, interfaces, functional composition and higher order functions. They should also be familiar with basic debugging and testing using Jest.
Target Audience
The course is aimed at developers with some practical experience with React interested in acquiring a deep understanding of the framework for building web apps with rich UI/UX.
Learning Objectives
After the course, the participant can explain the fundamental React concepts and know when and how to apply them in practice. The participant will be able to develop front-end apps with advanced UI/UX.
Further courses
After the course, participants can continue with the upcoming course "Building Advanced Web Apps using React and its Ecosystem", which introduces advanced front-end web architectures and external React frameworks dealing with issues like complex state management and asynchronous communications with the server.
