簡體   English   中英

如何使用 useMemo 代替 useEffect?

[英]How to use useMemo replacing useEffect?

我有一個月的選項數組,我在useEffect中使用它,但收到了對 deps 的警告。 請指導如何使用useMemo 我收到如下警告:'options' 數組使useEffect Hook(第 83 行)的依賴關系在每次渲染時都發生變化。 要解決此問題,請將“選項”的初始化包裝在其自己的useMemo Hook react-hooks/exhaustive-deps 中

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]);

簡單地:

const options = useMemo(() => [], [])

如果你有一個常量數組(如果它不依賴於 state 或道具),那么考慮將它放在組件之外。 這樣您就不必擔心useMemo或將它放在useEffect依賴數組中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM