Я проектирую приложение для реагирования с сервером узлов.Я создал собственный приватный маршрут
import React from 'react';
import {connect} from 'react-redux';
import {Route, Redirect} from 'react-router-dom';
class PrivateRoute extends React.Component{
render() {
const { isAuthenticated, component: Component, ...rest } = this.props;
return (
<Route {...rest} component={(props) => {
if(isAuthenticated){
return <Component {...props}/>
}
else{
return <Redirect to="/login" />
}
}}/>
)
}
}
const mapStateToProps = (state) => {
return{
isAuthenticated: state.auth.email !== '' ? true : false
}
}
const ConnectedPrivateRoute = connect(mapStateToProps)(PrivateRoute)
export default ConnectedPrivateRoute;
Я перенаправляю себя на маршрут панели мониторинга от узла serer после входа в систему.
import React from 'react';
import axios from 'axios';
import {connect} from 'react-redux';
import { setAuthenticatedUser } from '../actions/authA';
class Dashboard extends React.Component{
constructor(props) {
super(props);
axios.get('/cookie').then((user) => {
if(user.data.email)
this.props.dispatch(setAuthenticatedUser(user.data));
})
.catch((e) => {
console.log("Got some error");
})
}
render() {
return (
<div>Dashboard Page</div>
);
}
}
export default connect()(Dashboard);
В настоящее время моя панель поиска ищет файлы cookie для проверки подлинности и обновляет мой магазин.Но после добавления custom route
происходит перенаправление на login page
, потому что мой пользовательский маршрут не находит обновленный store
, так как он обновляется в приборной панели.Я застрял здесь.Я попытался обновить мой собственный маршрут, но я добавил больше путаницы к себе.Любое предложение и решение приветствуется.
Спасибо