закрытый маршрут не обновляет вид, но обновляет при обновлении вручную - PullRequest
0 голосов
/ 03 июля 2019

У меня проблема с обновлением представления при успешном входе в систему.

URL-адрес изменяется, но страница остается пустой. При перезагрузке страницы вручную или вводе URL-адреса содержимое страницы отображается правильно.

Я где-то читал, что это обычная проблема в редуксе, но так и не нашел правильного решения для этого.

Может быть, кто-то может мне помочь с этим.

Route.js

import React,{Component} from 'react';
import {BrowserRouter, Route,Switch,} from 'react-router-dom';
import { connect } from 'react-redux';
import Login from '../containers/Login';
import DashBoard from '../containers/Dashboard';
import  {PrivateRoute }  from '../components/PrivateRoute';


class  Routes extends Component {

render() {


       return(
            <BrowserRouter  history={history}>
                <Switch>
                    <PrivateRoute exact path='/' component={DashBoard}  />
                    <Route  path="/login" component={Login}/>
                </Switch>
            </BrowserRouter>
        )
    }

}

function mapStateToProps(state) {
    return {
        auth_datail: state.authontications,
    }
}
export default connect(mapStateToProps)(Routes)

PrivateRoute.js

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

 export const PrivateRoute = ({ component: Component,...rest }) => (

    <Route {...rest} render={props => (
      sessionStorage.getItem('token')
            ? <Component {...props} />
            : <Redirect to={{ pathname: '/login', state: { from: props.location } }} />
    )} />
)



index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider }  from 'react-redux'
import {createStore,applyMiddleware} from 'redux'
import reduxThunk from 'redux-thunk';

import reducers from './reducers'
import Routes from './route/Routes'
const createStoreWithMiddleware = applyMiddleware(reduxThunk)(createStore);
ReactDOM.render(
    <Provider store={ createStoreWithMiddleware(reducers)}>
        <Routes/>
    </Provider>,
     document.getElementById('root')
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...