This module looks at how to manage state in React. You’ll be looking at state management, context, and reducers.  

Learning Objectives 

The objectives of this module are to provide you with an understanding of: 

  • State Management  
  • Context  
  • How to create and provide context  
  • Reducers  
  • How to provide dispatch 

Intended Audience  

This learning path is aimed at all who wish to learn how to use the ReactJS framework.  


It is essential you understand the face of contemporary web development to attend this course. We insist upon JavaScript experience, along with good HTML and CSS skills. 


We welcome all feedback and suggestions - please contact us at to let us know what you think. 


- The react docs say that contact with vital way to pass data through the component tree without having to pass prompts down manually at every level. So why do we need context, if we can pass props down? Well, it solves a problem in complex component hierarchies and it cleans up component code. We've got a simple component tree here that only has two branches and three levels where propX is used in two components on the bottom level. Imagine that we have 10 branches with 30 levels and various components at different levels in the tree each use propX. That's a lot of extra code because each parent, grandparent, great-grandparent and so on in the tree must pass propX down. Even if it doesn't use the value itself, if one of its children do. Context allows a component high in the tree to provide props to components lower in the tree without the need to pass props through every component. The provider is needed at the prop source and a consumer at the component that uses it. So what are the use cases for context? Realistically, there's only one real reason to use context, and that's why multiple components across multiple trees need to access the same value. So for example, a set of color styles needed in components across an application would be a perfect use case for context. Note, that if you work in a single tree, context shouldn't really be used to simply bypass components passing props down through them.


Introduction to State Management - How to Create and Provide Context - Consume Context - Reducers - Actions in Reducers - The useReducer Hook - Providing Dispatch

About the Author
Learning Paths

Ed is an Outstanding Trainer in Software Development, with a passion for technology and its uses and holding more than 10 years’ experience.

Previous roles have included being a Delivery Manager, Trainer, ICT teacher, and Head of Department. Ed continues to develop existing and new courses, primarily in web design using: PHP, JavaScript, HTML, CSS, SQL, and OOP (Java), Programming Foundations (Python), and DevOps (Git, CI/CD, etc). Ed describes himself as practically minded, a quick learner, and a problem solver who pays great attention to detail. 

Ed’s specialist area is training in Emerging Technologies, within Web Development. Ed mainly delivers courses in JavaScript covering vanilla JS, ES2015+, TypeScript, Angular, and React (the latter is authored by Ed) and has delivered on behalf of Google for PWAs. Ed has also developed a new suite of PHP courses and has extensive experience with HTML/CSS and MySQL. 

Ed is responsible for delivering QA’s Programming Foundations course using the Eclipse IDE. His skillset extends into the DevOps sphere, where he is able to deliver courses based around Agile/Scrum practices, version control, and CI/CD.

Covered Topics