Course Outline
Building modern front-end applications
- Overview of React, Angular, and Vue.js, highlighting their similarities
- The concept of declarative rendering
- Components: creating custom HTML tags
- Initialising a React project using create-react-app
Modern JavaScript
- Development workflows with node.js and npm
- Evolutions in JavaScript versions
- Working with modules
- Functions and arrow functions
- Classes
- Functional programming concepts in JavaScript (map, filter, etc.)
TypeScript
- Differences between static and dynamic typing
- Defining types for variables, functions, and classes
- Basic data types
- Tuples and objects
- Interfaces
- Generics
React template language
- JSX: a JavaScript-based template syntax
- Configuring element properties
- Rendering lists of elements
- Conditional rendering (if / else)
- Handling events
- Applying CSS classes and styles
Managing state in React
- Setting and updating application state
- Leveraging the state hook and setState
- Capturing input element content within state
Components: The building blocks of modern web apps
- Defining custom HTML tags in React
- Understanding state, props, & events
- Data flow between components
- Function components versus class components
- Utilising hooks within function components
- Component lifecycle events (mount, update, unmount)
- Incorporating predefined components from libraries
State management with Redux
- Redux fundamentals: managing state with pure functions, reducers, and immutable data
- Using the reducer hook in React
- Integrating Redux into a React application
- Distinguishing between presentational and container components
- Exploring the Redux ecosystem
- Managing asynchronous events with Thunk
- Retrieving data from a REST API
Developer tools and testing
- React developer tools
- Redux developer tools
- Testing JavaScript code with Jest
- Writing tests for reducers
- Testing React components
React Router
- Implementing client-side routing
- Rendering different views based on the current browser route
App development with React
- Brief overview of React Native
- Building installable mobile and desktop applications using Progressive Web Apps
- Comparing Progressive Web Apps with native applications
Requirements
- Foundational knowledge of HTML
- Practical experience with JavaScript
Testimonials (7)
It was really good to finally get a solid understanding of some of the core concepts in React, especially things like the state and hooks. Łukasz provided really clear explanations of these, and was happy to experiment with worked examples to help clarify further questions that we had.
Hayden Pike - Powerlink Queensland
Course - React, Redux and TypeScript
The details amout, way of explaning and the calm and confidence the trainer is inspiring.
Cosmin Ghergheles - Ness
Course - React, Redux and TypeScript
It covered the basic components
Valentin
Course - React, Redux and TypeScript
Lukasz's enthusiasm.
Eloise Phelps - Dunelm
Course - React, Redux and TypeScript
How Luke made a good effort to helping people individually when they were having problems running the code. Luke was extremely friendly and got a long well with the course participants.
Jonathan Grout - Dunelm
Course - React, Redux and TypeScript
The engagement from the trainer with all the participants was great, everyone got help at some stage of the course. It was a great experience overall, specially for people not familiar with the subject.
Tayyab Ejaz Mushtaq - Dunelm
Course - React, Redux and TypeScript
I liked the fact it felt like a safe environment and I didn't feel intimidated sharing my screen and my struggles with the trainer or the group.