У меня есть кастомный хук
useApiData
вот его код :
import { useState, useEffect } from "react";
import { useDispatch } from "react-redux";
import { getPageCountAC } from "../redux/mainPageReducer";
import { getUsersAC } from "../redux/mainPageReducer";
export const useApiData = () => {
const dispatch = useDispatch()
const [data, setData] = useState([]);
const [isLoading, setIsLoading] = useState(true);
const [isError, setIsError] = useState(false);
const [results,setResults] = useState([])
useEffect(() => {
const getApiData = async () => {
try {
setIsLoading(true);
const response = await fetch("https://itrex-react-lab-files.s3.eu-central-1.amazonaws.com/react-test-api.json");
const results = await response.json();
if (response.status!==200) {
throw new Error('Error');
}
setData(results);
setResults(results)
dispatch(getUsersAC(results))
dispatch(getPageCountAC(results.length))
} catch (e) {
setIsLoading(false);
setIsError(false);
} finally {
setIsLoading(false);
}
};
getApiData();
}, []);
return {
data,
isLoading,
isError,
setData,
results
};
};
я получаю из него данные через
useApiData
таким образом :
const users = useApiData();
const [userss, setUserss] = useState(users.data);
Значение в
users
есть но при этом оно не сетается в
useState
в чём может быть проблема ? Как пофиксить ? А точнее что я не понимаю и делаю не так?