Я работаю над небольшим полнофункциональным приложением CRUD, использующим реагирование и mongodb, и у меня возникла эта проблема, когда я использую useEffect
, чтобы сделать топор ios получить запрос на сервер, чтобы получить все мои задачи. Проблема в том, что useEffect
делает свою работу, но она также возвращается к бесконечности. Это мой компонент:
export default function () {
...
const [todos, setTodos] = useState([]);
const currentUser = JSON.parse(localStorage.getItem('user'))._id;
useEffect(() => {
async function populateTodos () {
try {
const res = await axios.get(`http://localhost:8000/api/all-todos/${currentUser}`);
setTodos(res.data);
} catch (err) {
if (err.response) {
console.log(err.response.data);
console.log(err.response.status);
console.log(err.response.headers);
} else if (err.request) {
console.log(err.request);
} else {
console.log('Error: ', err.message);
}
}
}
populateTodos();
}, [todos]);
console.log(todos);
return (
...
);
}
Так что я ожидал, что console.log
будет напечатан только при изменении задач, например, когда я добавляю новый задачу и т. Д., Но вместо этого печатается навсегда.