Skip to content

How to pass props to a child component via React Router

This short tutorial explains how to pass props to a child component via React Router

There are many solutions to pass props to a child component via React Router, and some you’ll find are outdated.

The most simple ever is adding the props to the Route wrapper component:

const Index = props => <h1>{props.route.something}</h1>

var routes = <Route path="/" something={'here'} component={Index} />

But in this way you need to modify how you access props, via this.props.route.* instead than the usual this.props, which might or might not be acceptable.

A way to fix this is to use:

const Index = props => (
  <h1>{props.something}</h1>
)

<Route path="/" render={() => <Index something={'here'} />} />

→ Get my React Beginner's Handbook

I wrote 21 books to help you become a better developer:

  • HTML Handbook
  • Next.js Pages Router Handbook
  • Alpine.js Handbook
  • HTMX Handbook
  • TypeScript Handbook
  • React Handbook
  • SQL Handbook
  • Git Cheat Sheet
  • Laravel Handbook
  • Express Handbook
  • Swift Handbook
  • Go Handbook
  • PHP Handbook
  • Python Handbook
  • Linux Commands Handbook
  • C Handbook
  • JavaScript Handbook
  • Svelte Handbook
  • CSS Handbook
  • Node.js Handbook
  • Vue Handbook
...download them all now!

Related posts that talk about react: