Passing Data with React Router using Link

medaminefh

Mohamed Amine Fh

Posted on October 1, 2021

Passing Data with React Router using Link

If you've used React Router on many projects, definitely you've asked How i can pass some data or state to other components through a link tag?.

So 1st of all we'll discuss how we can pass data between components in React.

1. Passing props

The 1st one is by passing some props from the parent component to the children components

carbon (4)

carbon (3)

2. Global State

2nd one is by making a Global State and make some data accessible by many components.

You can manage Global State using two main paths:

3. Using React Router's Link

3rd one is basically when you click on a link(to component), you passing data with that.

Below we Have a simple React App with some routes
App

We Have two routes Here the "/"(Home) Route and the "/profile"(Profile) route.

So the 1st page we'll see if we run yarn start is the Home Page

Home

Screenshot from 2021-10-01 13-11-24

And if we go to the /profile route
we'll see the Profile component

Profile

Screenshot from 2021-10-01 13-12-15

So as you can see we're using the <Link> instead of the regular <a> tag to prevent the refresh of the page.

So how we can send data for exemple to the Profile component from the Home component ?

So the cool thing is we can pass an Object to the to property in the <Link> and that object must contains a pathname and optionally a state, and we can pass the data through that state

Screenshot from 2021-10-01 13-41-45

and we can access that state in the Profile component in the props.location.state

Screenshot from 2021-10-01 13-45-07

Screenshot from 2021-10-01 13-46-47

for more Info check this React Router Link

💖 💪 🙅 🚩
medaminefh
Mohamed Amine Fh

Posted on October 1, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related