RivoCode

React Essentials · Routing Basics · Lesson 23 of 26

Dynamic Routes with useParams

Concept

Dynamic Routes with useParams

A route like /courses/:id captures part of the URL as a parameter, which useParams reads inside the matched component.

By the end of this lesson
  • Explain the core idea behind Dynamic Routes with useParams.
  • Predict output before running a change.
  • Test one realistic and one unusual input.
  • Use the result to make the next decision.
How to study this page
  1. 1. Read one concept.
  2. 2. Change the example.
  3. 3. Run, compare, and explain.
  4. 4. Complete the challenge below.
ExampleRunnable
import { useParams } from "react-router-dom";

function CourseDetail() {
  const { id } = useParams();
  return <p>Showing course {id}</p>;
}

<Route path="/courses/:id" element={<CourseDetail />} />;
Try it Yourself »
Self-check before continuing

Without looking at the example, describe what changes when you modify one input in Dynamic Routes with useParams. Then reopen the editor and prove your explanation with a small test.

You are ready to continue when you can predict, test, and explain the result.

Your turn

Set up a dynamic route /users/:username and read the username with useParams.

Loading editor…

Console

Output will appear here...