Каждый раз, когда компонент отрисовывается, он запускает ваш useEffect
. Ваш useEffect
вызывает setUsersDB
, который обновляет состояние, что вызывает повторную визуализацию, которая запускает useEffect
...
Вы можете добавить массив значений в конец useEffect
, который сообщает useEffect
запускаться только в том случае, если любое из включенных значений изменилось. Но если вы добавляете пустой массив, он сообщает useEffect
запускаться только один раз и никогда больше, поскольку нет значений, от которых он зависит, которые изменились. Вы упомянули, что пробовали это и хотите, чтобы useEffect
запускался после каждого обновления. Каждое обновление чего? Если есть какое-то другое значение, которое обновляется где-то еще, и вы хотите, чтобы useEffect
зависел от этого значения, вставьте его в массив зависимостей.
useEffect(() => {
const getUsers = async () => {
const response = await axios
.get("http://localhost:4000/contacts")
.catch((error) => console.log(error.resp));
setUsersDB(response.data);
};
getUsers();
}, [some updating value])