v0.12.2 Move Data fetching to its own script for more modular and clearer code base

This commit is contained in:
Murtadha 2024-07-28 00:32:47 -04:00
parent 50d9a2207b
commit 594d08f84d
3 changed files with 36 additions and 29 deletions

View file

@ -13,6 +13,8 @@ import InfoSection from "./shared/components/info/InfoSection";
import styles from "./App.module.css";
import { fetchEducationData, fetchExperienceData, fetchPersonalData, fetchProjectsData } from "./utils/dataFetcher";
function App() {
const [educationData, setEducationData] = useState([]);
const [experienceData, setExperienceData] = useState([]);
@ -20,35 +22,21 @@ function App() {
const [personalData, setPersonalData] = useState([]);
useEffect(() => {
const fetchEducationData = async () => {
const response = await fetch("/assets/data/educationData.json");
const data = await response.json();
setEducationData(data);
const fetchData = async () => {
const education = await fetchEducationData();
setEducationData(education);
const experience = await fetchExperienceData();
setExperienceData(experience);
const projects = await fetchProjectsData();
setProjectsData(projects);
const personal = await fetchPersonalData();
setPersonalData(personal);
};
const fetchExperienceData = async () => {
const response = await fetch("/assets/data/experienceData.json");
const data = await response.json();
setExperienceData(data);
};
const fetchProjectsData = async () => {
const response = await fetch("/assets/data/projectsData.json");
const data = await response.json();
setProjectsData(data);
};
const fetchPersonalData = async () => {
const response = await fetch("/assets/data/personalData.json");
const data = await response.json();
setPersonalData(data);
// console.log(data)
};
fetchEducationData();
fetchExperienceData();
fetchProjectsData();
fetchPersonalData();
fetchData();
}, []);
return (

19
src/utils/dataFetcher.js Normal file
View file

@ -0,0 +1,19 @@
export const fetchEducationData = async () => {
const response = await fetch("/assets/data/educationData.json");
return await response.json();
};
export const fetchExperienceData = async () => {
const response = await fetch("/assets/data/experienceData.json");
return await response.json();
};
export const fetchProjectsData = async () => {
const response = await fetch("/assets/data/projectsData.json");
return await response.json();
};
export const fetchPersonalData = async () => {
const response = await fetch("/assets/data/personalData.json");
return await response.json();
};

View file

@ -1 +1 @@
0.12.1
0.12.2