У меня есть две разные ссылки. Одна главная страница, другая галерея. У меня на главной странице 3 ссылки с методом scrollIntoView
onClick, которые ведут меня в разные разделы. Я хочу реализовать метод, перенаправляющий меня из компонента галереи на главную страницу, и когда это будет сделано, вызовите метод scrollIntoView
.
метод goToContact:
goToContact = e => {
if (window.location.pathname === "/fotobudka/") {
this.fbContactElement.scrollIntoView({
behavior: "smooth",
block: "start"
});
}
if (window.location.pathname !== "/fotobudka") {
this.changeUrl();
this.goto();
}
};
Изменить URL перенаправить меня на главную страницу:
changeUrl() {
return <Redirect to="/fotobudka/" />;
}
Когда это будет сделано:
goto = () => {
setTimeout(() => {
let fbContactElement = document.getElementById("contact-form");
fbContactElement.scrollIntoView({
behavior: "smooth",
block: "start"
});
}, 100);
};
Мой метод работает отлично, но я знаю, что SetTimeout не является хорошим решением. Я попытался async / await, но я думаю, что я не достаточно хорош, чтобы реализовать это.
Как выполнить рефакторинг без использования функции SetTimeout?