React-我应该在哪里调用api?

时间:2020-07-13 21:22:31

标签: reactjs

我正在创建一个执行 a lot of api calls 的网站,这是一个非常大的项目,当它长大后,我开始遇到后端数据的一些问题, {{ 1}} ,我不得不创建许多some components was depending on another components to receive data来检查是否已经加载了数据以显示它们。在这种情况下,我对良好做法

有疑问
  1. 我应该从一开始就从后端加载每个数据吗?对于 if文件中的示例,然后传递已经加载的数据 通过道具?

  2. 在useEffect中调用api是一种好习惯吗?因为它可能会延迟 几秒钟,对用户来说不会很好

1 个答案:

答案 0 :(得分:1)

  1. 如果您具有加载状态,则在整个应用中逐步获取多个组件的数据应该不会有问题。通常,我会使用容器组件来进行API调用。然后有条件地呈现加载状态或保存并呈现数据的“哑”子组件。在需要时获取数据可能比在不需要时获取所有数据更好。

第一个问题让人很自以为是,有点像个案决定。我还要澄清一下,这的确是我对这个问题的看法。

  1. 在useEffect内调用API是完全合法的用例。例如,假设您有一个在页面上呈现的无限滚动条。您可以使用useEffect对该API进行初始调用,以获取第一组结果。无论如何,是的,这很好。
useEffect(() => {
someAPICallForInitialData();
}, []);

...some code here

<InfiniteScoller onScroll={() => getMoreData()}>
{chidren}
<InfiniteScoller />