[英]React Hook useEffect has a missing dependency warning
In a React app I get this warning on a few components in the useEffect function.在 React 应用程序中,我在 useEffect function 中的一些组件上收到此警告。 I have seen other SO questions but still cant see a fix.我已经看到了其他 SO 问题,但仍然看不到修复。
React Hook useEffect has a missing dependency: 'loadItems'. React Hook useEffect 缺少一个依赖项:'loadItems'。 Either include it or remove the dependency array包括它或删除依赖数组
import React, { useState, useEffect } from "react";
import Button from "./common/button";
import { splitArray } from "../utility/chunkify";
const BudgetTypesList = ({ types, onDelete, onEdit }) => {
const [items, setItems] = useState([]);
useEffect(() => {
loadItems();
}, [types]);
const loadItems = () => {
const size = Math.ceil(types.length / 2);
const chunks = splitArray(types, size);
setItems(chunks);
};
.... rest of code here
UseEffect
suggests to declare all the function/values
as a dependency. UseEffect
建议将所有function/values
声明为依赖项。
import React, { useState, useEffect } from "react";
import Button from "./common/button";
import { splitArray } from "../utility/chunkify";
const BudgetTypesList = ({ types, onDelete, onEdit }) => {
const [items, setItems] = useState([]);
useEffect(() => {
const loadItems = () => { //<---move this function inside useEffect
const size = Math.ceil(types.length / 2);
const chunks = splitArray(types, size);
setItems(chunks);
};
loadItems();
// you can use this to `disable comment` any such unnecessary warnings
// eslint-disable-next-line
}, [types]); //<--- It will also show it for setItems now,
.... rest of code here
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.