Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Building an Accessible Memory Game with React - From Data Fetching to Error Handling

via freeCodeCamp

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn to build a fully interactive and accessible memory game in this comprehensive 4.5-hour tutorial using React. Master essential development concepts including API data fetching, state management, and component creation while building a polished project. Starting with foundational elements, progress through implementing core game functionality like card selection and match detection. Dive deep into accessibility best practices by incorporating ARIA attributes, semantic HTML, and assistive technology considerations. Explore advanced features including error handling, form implementation, and state management refactoring. Practice solving real-world development challenges such as randomizing game elements, managing user interactions, and creating reusable components. By completing this hands-on tutorial, gain practical experience in building user-friendly applications while developing a portfolio-worthy memory game that showcases modern React development practices and accessibility standards.

Syllabus

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
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
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
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

Taught by

freeCodeCamp.org

Reviews

Start your review of Building an Accessible Memory Game with React - From Data Fetching to Error Handling

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.