Im trying to redirect user after he successfully login on heroku, but it won't redirect him to /user-panel
and he is stack on /login
. I tried a bunch of solutions from SO but neither of them works for me.
<h3>
App.js
<div className="App">
<Router>
<Switch>
<Route exact path="/" component={SignUp} />
<Route exact path="/reset" component={ResetPasswordForm} />
<Route exact path="/user-panel">
{!user ? <SignIn /> : <UserPanel />}
</Route>
{user && <Route exact path="/login" component={UserPanel} />}
<Route exact path="/login" component={SignIn} />
<Route exact path="/pay-now" component={PayNow} />
{user && <Route exact path="/todo" component={Todo} />}
</Switch>
</Router>
</div>
Sign in function
const hanlderSign = (e) => {
e.preventDefault();
fetch('/api/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(userData),
})
.then((response) => response.json())
.then((json) => {
setMessage(json);
if (json.correct) {
window.location.href('/user-panel');
}
});
};
After user login the url is changing but the component isn't.