Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi-admin/admin/src/containers/HomePage/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import { useEffect, useState, useRef } from 'react';
import axios from 'axios';
const useFetch = () => {
const isMounted = useRef(true);
const [state, setState] = useState({
error: false,
isLoading: true,
posts: [{ link: '1' }, { link: '2' }],
});
useEffect(() => {
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
const fetchData = async () => {
try {
const { data } = await axios.get(
'https://strapi.io/api/blog-posts?_limit=2&_sort=publishedAt:desc',
{
cancelToken: source.token,
}
);
const posts = data.reduce((acc, curr) => {
acc.push({
title: curr.seo.metaTitle,
link: curr.slug,
content: curr.seo.metaDescription,
});
return acc;
}, []);
setState({ isLoading: false, posts, error: false });
} catch (err) {
if (isMounted.current) {
setState({ isLoading: false, error: true, posts: [] });
}
}
};
fetchData();
return () => {
isMounted.current = false;
source.cancel('abort');
};
}, []);
return state;
};
export default useFetch;
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0051 ]-- |