вместо того, чтобы делать тройной, как вы это сделали, используйте вместо этого частный / защищенный маршрут?
const ProtectedRoute = ({ component: Component, ...rest }) => {
return app.auth().currentUser ? <Component /> : <Redirect from="" to="/login" noThrow />
}
<Switch>
<div className="wrapper">
<ProtectedRoute path="/" render={MainComponent} />
<Route path="/login" exact render={LoginComponent} />
<Route path="/signup" exact component={SignUpComponent} />
<Route path="/forgetpass" exact render={ForgetPassComponent} />
<Redirect from='*' to='/login' />
</div>
</Switch>
тогда вы можете не увидеть, как происходит перенаправление, как вы. Если да, то я бы рекомендовал сохранить его в localStorage
, а затем читать оттуда. Раньше у меня возникало мерцание, когда я использовал onAuthStateChange
из firebase самостоятельно. но при использовании вместе с localstorage
это было нормально. Я думаю, это то, что вы получаете, когда говорите: "При refre sh путь к странице сброшен и перенаправляется на" / login ", а затем на" / ""