Hamburger Icon
  • Labs icon Lab
  • Core Tech
Labs

React State: Creating a Matching Game

Labs

Path Info

Level
Clock icon Intermediate
Duration
Clock icon 3h 0m
Published
Clock icon Apr 26, 2023

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Instantiate the state

    In this module we will hydrate the state of the game. ### Solution To view the solution, run git diff origin/master..module-2-solution in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout module-2-solution to switch branches.

  2. Challenge

    Create the tile clicked handler

    In this module we will create the handleTileClicked event handler, as well as finish wiring up the basics of the game. ### Solution To view the solution, run git diff origin/master..module-3-solution in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout module-3-solution to switch branches.

  3. Challenge

    Create the useHover() hook

    In this module we will build a custom hook that uses the useRef, useState, and useHover hooks. ### Solution To view the solution, run git diff origin/master..module-4-solution in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout module-4-solution to switch branches.

  4. Challenge

    Copy the App to a new directory

    In this module we will refactor part of the app to use the Context API. Do note that the size of this app doesn't necessarily lend itself well to using Context. We could more easily fix the issue of passing props through too many components by fixing the Apps composition. For more on this subject see the react docs: https://reactjs.org/docs/context.html#before-you-use-context ### Solution To view the solution, run git diff origin/master..module-5-solution in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout module-5-solution to switch branches.

Auggie is a Full Stack Software Engineer at Pluralsight. Prior to that he was a Hacker in Residence teaching at Hack Reactor Remote.

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.