📝 docs(_exp): add explanation

This commit is contained in:
eshanized
2024-12-20 22:41:28 +05:30
parent 65c1a577b0
commit d59e79b1a3

View File

@@ -1,20 +1,33 @@
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { Github } from 'lucide-react'; import { Github } from 'lucide-react'; // Importing the 'Github' icon from the 'lucide-react' library
// Define and export the Footer functional component
export function Footer() { export function Footer() {
// Declare a state variable `githubFollowers` to store the number of GitHub followers.
// The initial value is set to `null`. The `setGithubFollowers` function is used to update this value.
const [githubFollowers, setGithubFollowers] = useState<number | null>(null); const [githubFollowers, setGithubFollowers] = useState<number | null>(null);
// Fetch GitHub follower count // useEffect hook is used to run side effects. Here, it runs the effect to fetch GitHub follower count.
useEffect(() => { useEffect(() => {
// Define an asynchronous function to fetch data from the GitHub API.
async function fetchGithubFollowers() { async function fetchGithubFollowers() {
// Make a GET request to GitHub API for the user 'Snigdha-OS'.
const response = await fetch('https://api.github.com/users/Snigdha-OS'); const response = await fetch('https://api.github.com/users/Snigdha-OS');
// Parse the response JSON to extract the data.
const data = await response.json(); const data = await response.json();
// Check if the `followers` property exists in the fetched data.
if (data.followers !== undefined) { if (data.followers !== undefined) {
// Update the state with the number of followers.
setGithubFollowers(data.followers); setGithubFollowers(data.followers);
} }
} }
// Call the `fetchGithubFollowers` function to fetch the data.
fetchGithubFollowers(); fetchGithubFollowers();
}, []); }, []); // Empty dependency array means this effect runs only once after the component mounts.
return ( return (
<footer className="relative bg-[#1a202c] text-white py-16 overflow-hidden"> <footer className="relative bg-[#1a202c] text-white py-16 overflow-hidden">