React Js, нужно при переходе на компонент заскролить в самый вверх без обновление страницы

Рейтинг: 0Ответов: 0Опубликовано: 19.08.2023

import { useParams } from "react-router-dom";
import UserComments from "./UserComments";

const PostPage = (props) => {

  const scrollToTop = () => {
    window.scrollTo({ top: 0, behavior: 'smooth' });
  }

  window.onload = scrollToTop;

   const params = useParams();
   const postId = params.id;

   const post = props.item.find((post) => post.id === Number(postId));
   

    return ( 
         <div className="post-page">
           <h2>{post.title}</h2>
           <img src={`/img/${post.img}`}/>
           <p>{post.desc}</p>
           <hr/> 
           <div className="comments">
              <form>
                <textarea placeholder="Напишите комментарии"></textarea>
              </form>  
              

              {props.users.map(user => (
                <UserComments user={user} />
              ))}

           </div>
         </div>   
     );
}
 
export default PostPage;

Пробовал с помощью window.onload запускать функцию скрола, но в React при переходах на страницы не происходит обновление, и window.onload просто не работает.

Нужно решение, что-бы при переходах на компоненты происходил скрол в самый вверх страницы.

Ответы

Ответов пока нет.