У меня есть компонент в React, где в useEffect
я делаю два вызова API и устанавливаю два состояния. После того, как я все еще в useEffect
, я пытаюсь установить другое состояние с одним из состояний, обновленных API. Если я сделаю это, оставив параметр в квадратных скобках useEffect
пустым, состояние не будет установлено. Если я передаю константы состояния в скобках, они переходят в бесконечное число l oop.
async function fetchData() {
const agentRes = await fetch("http://localhost:3004/agentsdata");
agentRes
.json()
.then(res => setAgents(res))
.catch(err => console.log(err));
const queueRes = await fetch("http://localhost:3004/queuedata");
queueRes
.json()
.then(res => setBaseQueues(res))
.catch(err => console.log(err));
}
useEffect(() => {
fetchData();
let pge;
if (props.location.data !== undefined) {
pge = props.location.data.page;
}
else {pge = 1;}
setUser(props.match.params.user);
setPage(pge);
let lowerB = (0 +((pge - 1) * 10));
let upperB = 10 + ((pge - 1) * 10);
setQueues(baseQueues.slice(lowerB, upperB)); // here the state is not getting set.
}, [queues])
Как мне сделать так, чтобы я мог установить это состояние так же, как мне нужно сделать это в useEffect
.