reactjs - 我正确使用 React Hook?
问题描述
我想为无限滚动应用 React 钩子。所以,我最终得到了这段代码:
export default function index() {
const [allTracks, setAllTracks] = useState([]);
const [offset, setOffset] = useState("");
const { tracks, error, loading, lastVisible } = useFetchPublicTracks(
myApiEndPoint.TRENDING_TRACKS,
5,
offset
);
//concat tracks when got data successfully
useEffect(() => {
if (!loading && tracks) setAllTracks([...allTracks, ...tracks]);
}, [loading, tracks]);
console.log("tracks", allTracks);
console.log("lastVisible", lastVisible);
console.log("loading", loading);
return (
<div>
<button className="" onClick={() => setOffset(lastVisible)}>
Load More
</button>
<Main></Main>
</div>
);
}
当我单击“加载更多”按钮时,将设置新的偏移量。之后,组件再次重新渲染并使用新的偏移量调用 Api。
我想问一下我是否正确使用了 React 钩子?有没有更好的办法?另外,我需要在我的用例中使用useCallback/useMemo吗?
解决方案
推荐阅读
- java - 具有唯一字母的子串数
- javascript - 在javascript中forEach循环的每次迭代中更改颜色?
- powershell - 使用变量从 CSV 中删除多列 - Powershell
- django - Django 模型如何
- javascript - 在 javascript 中连接 bigquery 视图
- multithreading - Netty 线程模型与长期运行的任务
- javascript - 如何不将所有内容都放在 Wrapper 组件中?
- python - seaborn PairPlot 的正确对角 Y 轴
- android - 如何防止sqlite中的数据重复
- matlab - 使用 Hankel 命令在 matlab 中创建矩阵