Итак, у меня есть обработчик запросов, из которого я sh заполняю переменную состояния данными. Проблема в том, что в useEffect запрос возвращается как объект {}, но после использования useEffect правильно возвращает данные (см. Изображение). Я попытался поместить useEffect после всех определений переменных, но это вызвало ошибку визуализации ловушки. Что я здесь пропускаю и как мне решить эту проблему?
// Single Item Query
const { data: singledItemData, error: errorSingleItem, loading: loadingSingleItem } = useQuery(
SINGLE_ITEM_QUERY, {
variables: {
id: props.id,
}
}
);
useEffect(() => {
console.log("singledItemData in useEffect = ", singledItemData);
if (singledItemData.item) {
setColor(singledItemData.item.color.name);
}
}, []);
// User hook variables
if (!user) return null;
if (user.error) return <Error error={user.error} />;
// Single Item Query variables
if (loadingSingleItem) return <p>Loading...</p>;
if (!singledItemData.item) return <p>No Item Found for ID {props.id}</p>;
console.log("Single Item Data = ", singledItemData);