У меня проблема, когда я обновляю sh страницу, она возвращает меня на домашнюю страницу, потому что, когда я проверяю, что пользователь вошел в систему с помощью Firebase, он автоматически перенаправляется на домашнюю страницу. некоторые могут помочь мне решить эту проблему, заранее спасибо. App. js:
import React from 'react';
import Navbarr from './Component/Navbarr/Navbarr';
import Home from './Component/Home/Home';
import About from './Component/About/About';
import Contact from './Component/Contact/Contact';
import Javascript from './Component/Javascript/Javascript';
import Php from './Component/Php/Php';
import Profile from './Component/Profile/Profile';
import Python from './Component/Python/Python';
import Askquestion from './Component/Askquestion/Askquestion';
import Articles from './Component/Articles/Articles';
import Login from './Component/Login/Login';
import Register from './Component/Register/Register';
import './App.css';
import {connect} from 'react-redux';
import {BrowserRouter as Router,Switch,Route} from 'react-router-dom';
import SidePanel from './Component/SidePanel/SidePanel';
class App extends React.Component{
constructor(props){
super(props);
this.state={
}
}
render()
{
return(
<Router>
<Navbarr />
<SidePanel currentUser={this.props.currentUser}/>
<Switch>
<Route path='/' exact component={Home}/>
<Route path='/Askquestion' component={Askquestion}/>
<Route path='/Javascript' component={Javascript}/>
<Route path='/Php' component={Php}/>
<Route path='/Python' component={Python}/>
<Route path='/About' component={About}/>
<Route path='/Contact' component={Contact}/>
<Route path='/Profile' component={Profile}/>
<Route path='/Articles' component={Articles}/>
<Route path='/Login' component={Login}/>
<Route path='/Register' component={Register}/>
</Switch>
</Router>
);
}
}
const mapstatetoprops=state=>({
currentUser:state.user.currentUser
})
export default connect(mapstatetoprops) (App) ;
Index. js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import {Provider,connect} from 'react-redux';
import {createStore} from 'redux';
import * as serviceWorker from './serviceWorker';
import {BrowserRouter as Router,Switch,Route,withRouter} from 'react-router-dom';
import {composeWithDevTools} from 'redux-devtools-extension';
import rootReducer from './Reducers/Reducers';
import Login from './Component/Login/Login';
import Register from './Component/Register/Register';
import{setuser,clearUser} from './Actions/Actions';
import firebase from './Component/firebase/firebase';
import Spinner from './Component/Spinner/Spinner';
const store=createStore(rootReducer,composeWithDevTools());
class Root extends React.Component{
componentDidMount(){
firebase.auth().onAuthStateChanged(user=>{
if(user){
const currentroute=this.props.history.location.pathname;
this.props.setuser(user);
this.props.history.push('/');
}else{
this.props.history.push('/Login')
this.props.clearUser();
}
})
}
render(){
return this.props.isLoading ? <Spinner/>: (
<Switch>
<Route exact path='/' component={App}/>
<Route path='/Register' component={Register}/>
<Route path='/Login' component={Login}/>
</Switch>
)
}
}
const mapStateFromProps=state=>({
isLoading:state.user.isLoading
})
const RootWithAuth=withRouter(connect(mapStateFromProps,{setuser,clearUser})(Root));
ReactDOM.render(
<Provider store={store}>
<Router>
<RootWithAuth />
</Router>
</Provider>
,document.getElementById('root')
);
serviceWorker.unregister();
и ребята просто хотят знать, что я могу предоставить проект на git хабе, если вы хотеть .