首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用useMemo代替useEffect?

如何使用useMemo代替useEffect?
EN

Stack Overflow用户
提问于 2021-12-17 13:35:06
回答 1查看 462关注 0票数 2

我有一个月的选项数组,我在useEffect中使用它,但是得到了deps的警告。请指导如何使用useMemo。我收到了如下警告:“options”数组使useEffect Hook (在第83行)的依赖项在每次呈现上发生变化。要解决这个问题,请将“选项”的初始化封装在它自己的useMemo Hook react钩子/详尽-deps中。

代码语言:javascript
复制
const options = [];

useEffect(() => {
  if (financialMonth) {
    options.forEach((item) => {
      if (Number(item.value) === Number(financialMonth)) {
        setMonthDefault(item.text);
      }
    });
    if (financialMonth.length === 0) setMonthDefault("April");
  }
}, [financialMonth, options]);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-17 13:38:38

简单地说:

代码语言:javascript
复制
const options = useMemo(() => [], [])

如果您有一个常量的值数组(如果它不依赖于状态或道具),那么考虑将它放在组件之外。这样,您就不必担心useMemo或将它放在useEffect依赖项数组中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70394020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档