Div 标签在反应中不会滚动到底部

问题描述 投票:0回答:0

这是 React 应用程序中面板的

<Content />
部分,其中包含
<Navbar />
<Content />
。我正在使用 tanstack 路由器来渲染子路由。包含
div
ref

标签存在问题

我想知道为什么当

div
更改时,这个
shouldScroll
标签不会滚动到底部。有人可以帮我找出原因吗?

这是代码:

import { createContext, useContext, useEffect, useRef, useState } from "react";

const ContentContext = createContext({
  triggerScroll: () => {},
});

function Content() {
  const ref = useRef(null);

  const [shouldScroll, setShouldScroll] = useState(false);

  const triggerScroll = () => {
    setShouldScroll((prev) => !prev);
  };

  useEffect(() => {
    ref.current.scrollIntoView();
  }, [shouldScroll]);

  return (
    <ContentContext.Provider value={{ triggerScroll }}>
      <div
        ref={ref}
        className="border relative h-[calc(100%-5.25rem)] overflow-auto rounded p-4"
      >
        <Outlet />
      </div>
    </ContentContext.Provider>
  );
}

export function useContent() {
  return useContext(ContentContext);
}

export default Content;
reactjs frontend scrollview js-scrollintoview
© www.soinside.com 2019 - 2024. All rights reserved.