Reactive web application programming based on React and Redux

The workshop provides a detailed introduction to state management in React applications using Redux. Participants will learn how to build scalable action, reducer, and store structures, work with middleware, developer tools, and optimization techniques. We will analyze data flow in the unidirectional data flow architecture and demonstrate how to use it to control complex business processes. After the workshop, participants will be able to design and develop large applications where state management is clear, predictable, and easy to maintain — both individually and in larger teams.

Who this
training is for

This workshop works best for participants who want to turn knowledge into practical project decisions and code written in realistic conditions.

This training is for you if

  • you want to organize your knowledge and see how to apply it in day-to-day work
  • you work on applications or tools that need to stay readable, maintainable, and testable
  • you value practical exercises, trade-off discussions, and examples close to real projects

This is not the best choice if

  • you are looking only for a theoretical lecture without workshop practice
  • you need a very basic introduction to programming from scratch
  • you expect ready-made recipes without discussing context, constraints, and consequences

Trainer

Mateusz
Jabłoński

Senior Frontend Developer, trainer, and author of technical materials. Since 2016, I have been running training sessions on JavaScript, TypeScript, React, testing, and tools that support software developers.

14+years of experience
2016teaching since
4.7 / 5based on 143 responses
Get to know me

Training program

Introduction to Redux-Based Architecture

  1. Overview of unidirectional data flow in React
  2. Why global state management is needed in larger applications
  3. Identifying problems caused by prop drilling and fragmented state

Installing and Configuring Redux in a React Application

  1. Installing `redux` and `react-redux`
  2. Creating the `store` folder and structuring the application around Redux
  3. Configuring the `store` and integrating it into the app using `Provider`

Creating Reducers and Actions

  1. What a reducer is and how it works
  2. Creating actions — synchronous and asynchronous actions
  3. Using `combineReducers` to manage multiple reducers

Using Selectors and Mapping State to Components

  1. Accessing global state with `useSelector`
  2. Mapping state to props using `mapStateToProps`
  3. Examples of computed selectors (memoization with `reselect`)

Dispatching Actions and Updating State

  1. Using `useDispatch` to trigger actions from functional components
  2. Mapping actions to props in class components using `mapDispatchToProps`
  3. Handling asynchronous operations with `redux-thunk` or `redux-saga`

Redux Middleware and Extensions

  1. Introduction to middleware: what it does and when to use it
  2. Using `redux-logger` for debugging
  3. Introducing and implementing `redux-thunk` or `redux-saga` for managing side effects

Structuring Large Redux Applications

  1. Modularizing the application: duck pattern and feature-based structure
  2. Dynamically loading reducers: lazy reducer loading
  3. Managing complex state using data normalization

Debugging and Testing Redux Applications

  1. Using Redux DevTools to track state changes and actions
  2. Writing unit tests for reducers and actions with `jest`
  3. Testing Redux-connected components with `react-testing-library`

Optimizing Performance in Redux Applications

  1. Using `React.memo` and `useMemo` to prevent unnecessary re-renders
  2. Memoizing selectors with `reselect`
  3. Performance analysis with tools like `why-did-you-render`

Alternatives to Redux and the Future of State Management

  1. Brief introduction to the Context API as an alternative to Redux
  2. Other state management libraries such as MobX or Zustand
  3. New trends: Redux Toolkit and reducing Redux boilerplate

Workshops already
behind us

Below you will find a list of workshop editions I have run. Each one means a new group, different challenges, and concrete results.

Total editions1
  • Zakład Ubezpieczeń Społecznych

    Sages

    4.81(average rating)