// React Router v6
// pass data between routes
// ---------------------------------------------------------------------
// sender.js/jsx
import { useNavigate } from "react-router-dom";
const navigate = useNavigate();
navigate('/other-page', { state: { username: 'user', password: '696' } });
// ---------------------------------------------------------------------
// receiver.js/jsx
import { useLocation } from "react-router-dom";
const location = useLocation();
console.log(location.state) // gives: {username: 'user', password: '696'}
const navigate = useNavigate();
navigate('/other-page', { state: { id: 7, color: 'green' } });
const {state} = useLocation();
const { id, color } = state; // Read values passed on state
props.history.push('/other-page', { id: 7, color: 'green' }))
Then, you can access the state data in '/other-page' via:
props.location.state
<Route path="/" component={() => <Search name={this.props.name} />} />
<Route path="/:name" component={Search} />
<Route path="/" render={() => <Search name={this.props.name} />} />
render={routeProps => <Search name={this.props.name} {...routeProps} />}