如何获取当前滚动元素键 - React PDF

How to get current scrolled element key - React PDF

我需要在我的 ReactPDF 查看器上显示当前页面。

如何在用户滚动页面时调用 setPageNumber?

  const [pageNumber, setPageNumber] = useState(1);

  let currentRef = useRef(null);

  <Document
      onLoadSuccess={({ numPages }) => setNumPages(numPages)}
      ...
  >
      {Array.from(new Array(numPages), (el, index) => (
        <Page
          key={`page_${index + 1}`}
          pageNumber={index + 1}
          inputRef={
            pageNumber === index + 1
              ? (ref) =>
                ref && ref.scrollIntoView()
              : null
          }
        />
      ))}
   </Document>

之前我有一个设置当前页面的按钮,当设置组件滚动到这个页面时。

我想根据当前滚动的页面instead/as设置页面。

谢谢!

我会将 Page 包装在一个组件中,该组件利用 IntersectionObserver 来查找页面上当前可见的页面。

我会这样做:

https://codesandbox.io/s/react-pdf-intersection-observer-90gvy