【发布时间】:2022-01-24 05:17:17
【问题描述】:
在我的主页中,我有类似这样的代码
{selectedTab===0 && <XList allItemList={some_list/>}
{selectedTab===1 && <YList allItemList={some_list2/>}
现在,在 XList 中,我有这样的东西:
{props.allItemList.map(item => <XItem item={item}/>)}
现在,在 XItem 内部,我正在调用一个 api 来获取 XItem 的图像。
现在我的问题是当在主页时,我将选项卡从 0 切换到 1 或从 1 切换到 0,它再次调用 XItem 中的所有 API。每当我切换标签时,它都会再次调用 api。我不想那样。我已经在 XItem 中使用了 useEffect,其中 [] 数组作为第二个参数。
我有我的后端代码,我在其中制作了一个 api 来获取 XItem 的图像。 API直接返回图片而不是url,所以我不能一次调用所有api。
我需要一些解决方案,以便最大限度地减少 api 调用。 感谢您的帮助。
【问题讨论】:
-
你需要了解
useMemo和useCallbackreact hook,google一下就行了。 -
看看 react-query,它优雅地解决了这些问题。
-
状态管理
标签: javascript reactjs api react-hooks use-effect