В приведенном ниже коде компонент «Регистрация» остается на странице после изменения маршрута на «/» (через history.push("/")
).Однако, если я впоследствии обновлю страницу, она исчезнет, и все выглядит так, как должно.Есть идеи, почему это происходит?
<Router>
<React.Fragment>
<Route
path="/register"
exact
render={() => <Register register={this.register} />}
/>
<Route
path="/"
exact
render={() => (
<Main
posts={posts}
post={post}
preview={preview}
/>
)}
/>
</React.Fragment>
</Router>
Вот метод регистрации, отвечающий за отправку на корневой маршрут:
register = (e, credentials) => {
e.preventDefault();
if (authEmails.includes(credentials.email)) {
rxcInit
.auth()
.createUserWithEmailAndPassword(credentials.email, credentials.password)
.then(() => {
history.push("/");
})
.catch(error => {
var errorMessage = error.message;
console.log(errorMessage);
this.setState({ modalShowing: true, errorMsg: errorMessage });
});
} else {
this.setState({
modalShowing: true,
errorMsg:
"That email address isn't authorized."
});
}
};