React 滚动加载
在React中实现滚动加载,可以通过监听窗口的scroll事件,当用户滚动到页面底部时,触发加载更多数据的功能。这种技术能够提升用户体验,避免一次性加载过多数据导致性能问题。下面将几种实现滚动加载的思路及代码示例。
使用原生Scroll事件监听
我们可以直接监听scroll事件,判断用户是否已经滚动到了页面的底部。如果到达底部,则加载更多的数据。
javascript
import React, { useState, useEffect } from 'react';</p>
<p>function ScrollLoad() {
const [items, setItems] = useState(Array.from({ length: 10 }, (_, i) => i));</p>
<p>useEffect(() => {
const handleScroll = () => {
if (window.innerHeight + window.scrollY >= document.body.offsetHeight - 5) {
setItems(items.concat(Array.from({ length: 10 }, (_, i) => items.length + i)));
}
};</p>
<pre><code>window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, [items]);
return (
<div key={item} style={{ height: '50px', border: '1px solid black' }}>
Item {item}
))}