Как я могу исправить “React Hook useEffect имеет отсутствующую зависимость. Либо включите его, либо удалите массив зависимостей” проблема?

#reactjs #react-hooks

#reactjs #реагирующие крючки

Вопрос:

Я хочу использовать useEffect, но когда я добавляю метод getGroup, я получаю предупреждение:

У React Hook useEffect отсутствует зависимость: ‘GetGroups’. Либо включите его, либо удалите массив зависимостей «

Мой код:

 useEffect(() => {
  getGroups();
  setContent(contentGroup);
}, [contentGroup]);


const [content, setContent] = useState([]);
const [groups, setGroups] = useState({});

const getGroups= () => {

   let newGroups = groups;

   contentGroup.forEach(content=>{
     newGroups = {...newGroups , [content.id]: content.title};
   })

   setGroups(newGroups);
}
  

Ответ №1:

Если getGroups он не переназначается, или вы не возражаете useEffect против повторного запуска, если это произойдет, тогда должно быть безопасно включить его в массив зависимостей, например, сообщение ускользает от:

 useEffect(() => {
  getGroups();
  setContent(contentGroup);
}, [contentGroup, getGroups]);