Build a Memory Game in React Tutorial

Subscribers:
10,900,000
Published on ● Video Link: https://www.youtube.com/watch?v=MzVbgZgGON4



Duration: 0:00
21,099 views
807


Create an accessible, interactive memory game using React. This course takes you through building a polished project while exploring how to fetch data, manage state, and implement best practices for inclusivity and functionality.

✏ ️ Study this course interactively on Scrimba:https://scrimba.com/memory-game-in-react-c0a3odsk39?utm_source=youtube..

Code is available on the Scrimba course page for each lesson.

Discover how to build a fully interactive memory game in React, designed to enhance your development skills and with a focus on accessibility.
This course guides you through each step, from fetching and managing API data to designing reusable components and implementing user interactions.
You’ll work on challenges such as randomizing game elements, detecting matches, and handling errors. Along the way, you'll gain practical experience in solving common development problems.
Accessibility is a key focus of the project, with detailed guidance on ARIA attributes, semantic HTML, and designing for inclusivity.
This course is ideal for anyone looking to deepen their React knowledge while working on a meaningful, real-world project. By the end, you’ll have an accessible, polished memory game that demonstrates your skills and commitment to building user-friendly applications.

Scrimba on YouTube  

Timestamps:
Building the Foundation
0:00:00 - Intro
0:06:00 - Boilerplate code
0:11:53 - Fetch data from API
0:17:18 - Store API data in state
0:21:19 - Aside: HTML entities
0:26:08 - Render memory cards with API data
0:30:45 - Issue with emojisData
0:33:29 - Get random emojis pt. 1
0:43:32 - Get random emojis pt. 2
0:49:32 - Duplicate and shuffle emojis

Core Game Functionality
0:55:10 - Side note: Address future discrepancies
0:58:59 - Select a memory card pt. 1
1:05:22 - Select a memory card pt. 2
1:10:37 - Select a memory card pt. 3
1:20:16 - Detect matching cards
1:28:50 - Are all memory cards matched?
1:34:11 - Create EmojiButton component
1:42:58 - Identify selected & matched cards in MemoryCard
1:48:38 - Conditional memory card content
1:54:44 - Conditional memory card styling

Accessibility Enhancements
2:04:33 - Disabled attribute & conditional event handler
2:12:01 - Aside: aria-label & aria-live
2:21:50 - Add aria-label to EmojiButton
2:31:00 - Side note: Renamed state variable
2:32:32 - Create AssistiveTechInfo component
2:41:29 - Aside: aria-atomic
2:47:52 - Make AssistiveTechInfo component accessible
2:50:46 - Create GameOver component
2:54:05 - Add button to GameOver component
3:02:07 - Accessibility issue in GameOver component
3:03:45 - Aside: Focus as an accessibility tool
3:14:14 - Make GameOver component accessible

Advanced Features
3:18:11 - Identify error handling issue
3:21:10 - Handle errors with useState
3:26:52 - Create and render ErrorCard component
3:34:24 - Refactor App to use formData
3:42:18 - Create form elements
4:00:19 - Save form selections in state
3:57:44 - Refactor form pt. 1
4:05:15 - Refactor form pt. 2
4:12:13 - Improve accessibility of Form component
4:20:50 - Outro




Other Videos By freeCodeCamp.org


2025-03-04Unity Tutorial – Massive Multiplayer Online (MMO) Game with SpacetimeDB
2025-02-28How to become a developer in your 30s with Anjana Vakil [Podcast #162]
2025-02-27Linear Algebra for Machine Learning
2025-02-26Build a Full Stack AI-Powered Web App with ChatGPT API
2025-02-25Vision Transformer from Scratch Tutorial
2025-02-23How to go full-on Renaissance Man mode in 2025 with Vaughn Gene [Podcast #161]
2025-02-20Kubernetes and EKS for Beginners – Crash Course with Pulumi
2025-02-18How to Build an ASP.NET Core MVC Web App – Tutorial
2025-02-14From Poker Dealer to Self-Taught Developer [Podcast #160]
2025-02-12A-Level Computer Science – Programming Concepts for Beginners Course in Visual Basic VB.NET
2025-02-11Build a Memory Game in React Tutorial
2025-02-07From freeCodeCamp to CTO with Robotics Engineer Peggy Wang [Podcast #159]
2025-02-06AI Engineer Roadmap – How to Learn AI in 2025
2025-02-05Strapi 5 and Next.js 15 Full Stack Project Course
2025-02-04Vyper and Python Smart Contracts on Blockchain – Full Course for Beginners
2025-01-31From Gas Station to Google with Self-Taught Cloud Engineer Rishab Kumar [Podcast #158]
2025-01-30API Security Fundamentals – Course for Beginners
2025-01-29Python Object Oriented Programming (OOP) - Full Course for Beginners
2025-01-28DeepSeek-R1 Crash Course
2025-01-27LLM Course – Build a Semantic Book Recommender (Python, OpenAI, LangChain, Gradio)
2025-01-24Getting a developer job in 2025 with Lane Wagner [Podcast #157]