Как передать props при редиректе через React-Router?

Имеется компонент с push-уведомлением,
5ac12d891e375631728000.png
он должен возникать, если пользователь захочет погулять по приватным маршрутам и будет возвращён на главную посредством Redirect Как это реализовать? Я так понял, что через Redirect ничего передать нельзя.

Вот, если нужен компонент уведомления(PopupNotification.jsx)
PopupNotification

import React, {Component} from 'react';

import $ from 'jquery';

export default class PopupNotification extends Component{
    componentDidMount(){
            var notifyElement = $(".popup").addClass('active');
            $('.popup').prepend(notifyElement);
            setTimeout(function (ele) {
                $(".popup").removeClass('active');
            }, 3000, notifyElement);
    }
    render(){
    return(
        <div className="popup">
            <i className="fa fa-exclamation-circle "></i>
            <span className="popup_title">You must be logged in!</span>
        </div>
    )
}
}



Вот компонент приватного маршрута:
PrivateRoutes.jsx

import React from 'react';

import {Route, Redirect} from 'react-router-dom';

export default function PrivateRoute({user, component: Component, data, onLogout, ...rest}){
    return(
        <Route {...rest} render={
            props=> (
                user ?
                    <Component data={data} onLogout={onLogout}{...props} />
                    :
                    <Redirect to="/" />     
            )
        } />
    );
}



Вот, на всякий случай, пример такого приватного маршрута:
<PrivateRoute exact path="/videocourses"  onLogout={this.logout}  data={videoCoursesDB}  user={this.state.user}  component={VideoCourses}/>
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
Меняйте state, на главной смотрите, что у вас в state. Зависит от того, что именно в props вам нужно на главной.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы