Vincas Stonys
Vincas Stonys

Reputation: 1135

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?

Upvotes: 5

Views: 5053

Answers (1)

Vincas Stonys
Vincas Stonys

Reputation: 1135

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.

Upvotes: 5

Related Questions