Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to redirect with react-router and send a message

I'm looking for a way in React to redirect after a successful login with success message. After the login, another component should show a success message, so how do I inform it that the redirect was after successful login? I once did that with flash messages, but that solution did not use react-router and had full page refreshes.

I am now using react-router, and am curious whether there is a react-router way to pass state/message to another route when redirecting? I am redirecting with:

browserHistory.push('/')

so I've tried:

browserHistory.push({
    pathname: '/',
    state: {
        message: "my message"
    }
});

But target component's this.state remained null. Is there a way to achieve what I want using react-router's own API? Or maybe I'm trying to solve this problem incorrectly?

like image 974
Vincas Stonys Avatar asked May 22 '16 10:05

Vincas Stonys


1 Answers

I've found an answer myself, the method I tried does indeed work, but the pushed state is received from:

this.props.location.state

in target component.

like image 94
Vincas Stonys Avatar answered Nov 10 '22 01:11

Vincas Stonys