我正确使用了React Hook?

时间:2019-11-29 09:43:55

标签: reactjs api react-hooks

我想为无限滚动应用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 hook 吗?有什么更好的办法吗?另外,我需要在用例中使用 useCallback / useMemo 吗?

0 个答案:

没有答案