Javascript useEffect挂钩后未更新的状态
我需要从Javascript useEffect挂钩后未更新的状态,javascript,reactjs,react-hooks,use-effect,Javascript,Reactjs,React Hooks,Use Effect,我需要从API中获取清单的长度,并将其显示为计数器。 但加载后,它会恢复到原始状态 let dataAll = []; //Global variable const [isLoading, setIsLoading] = useState(false); const [isAll, setIsAll] = useState(dataAll); const [state, setState] = useState({ allCounter: 0, loading: true,
API
中获取清单的长度
,并将其显示为计数器。
但加载后,它会恢复到原始状态
let dataAll = []; //Global variable
const [isLoading, setIsLoading] = useState(false);
const [isAll, setIsAll] = useState(dataAll);
const [state, setState] = useState({
allCounter: 0,
loading: true,
});
const fetchAll = async (params = {}) => {
try {
dataAll = await TriggerRequestAPI.getAllTickets();
const counter = dataAll.length;
setIsLoading(false);
setIsAll(dataAll);
setState({
state,
loading: false,
allCounter: counter,
params
});
}
catch (err) {
setIsLoading(true);
console.log(err);
message.error(`There is a problem in listing all table`, 3);
}
};
useEffect(() => {
setIsLoading(true);
fetchAll();
}, []);
setisload
和setIsAll
在哪里定义?@Lucas BetterCodingAcademy我更新了我的codecan u显示控制台日志您的状态在useffect
运行之前和之后?@Hả我安慰它。首先加载useffect,它是0,然后在setState之前的fetchAll函数中,列表中呈现的计数是27,然后在setState之后,它返回到0