Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript useEffect挂钩后未更新的状态_Javascript_Reactjs_React Hooks_Use Effect - Fatal编程技术网

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