Les crypto-monnaies font fureur ces jours-ci, et avec la pléthore de pièces disponibles, il est essentiel de disposer d'un outil pour rechercher et afficher facilement les détails les concernant. C'est exactement ce que fait l'application Crypto Finder. Construite avec React, cette application offre aux utilisateurs une expérience transparente pour rechercher, filtrer et afficher les détails des crypto-monnaies.
L'application Crypto Finder comprend :
Voici un aperçu rapide de la structure du projet :
Pour démarrer avec l'application Crypto Finder, suivez ces étapes :
git clone https://github.com/abhishekgurjar-in/Crypto-Finder cd crypto-finder
npm install
npm start
Le composant App.js configure le routage et inclut les composants Navbar et Footer.
import React from "react"; import CryptoFinder from "./components/CryptoFinder"; import "./App.css"; import Navbar from "./components/Navbar"; import Footer from "./components/Footer"; import {Route,Routes} from "react-router-dom" import CryptoDetails from "./components/CryptoDetails"; const App = () => { return (); }; export default App;}/> }/>
Le composant CryptoFinder.js gère la récupération et l'affichage de la liste des crypto-monnaies. Il comprend une barre de recherche pour filtrer les résultats.
import React, { useEffect, useState } from "react"; import axios from "axios"; import { Link } from "react-router-dom"; const CryptoFinder = () => { const [search, setSearch] = useState(""); const [crypto, setCrypto] = useState([]); const [filteredCrypto, setFilteredCrypto] = useState([]); useEffect(() => { axios .get(`https://api.coingecko.com/api/v3/coins/markets`, { params: { vs_currency: "inr", order: "market_cap_desc", per_page: 100, page: 1, sparkline: false, }, }) .then((res) => { setCrypto(res.data); setFilteredCrypto(res.data); }); }, []); const handleSearch = () => { const filteredData = crypto.filter((data) => { return data.name.toLowerCase().includes(search.toLowerCase()); }); setFilteredCrypto(filteredData); }; if (crypto.length === 0) { return (); } return (); }; export default CryptoFinder;setSearch(e.target.value)} onKeyDown={handleSearch} placeholder="Search for a cryptocurrency" />{filteredCrypto.map((val, id) => ())}![]()
{val.name}
{val.symbol.toUpperCase()}
₹{val.current_price.toFixed(2)}
Le composant CryptoDetails.js récupère et affiche des informations détaillées sur une crypto-monnaie sélectionnée.
import React, { useEffect, useState } from "react"; import axios from "axios"; import { useParams } from "react-router-dom"; const CryptoDetails = () => { const { id } = useParams(); const [cryptoDetails, setCryptoDetails] = useState(null); useEffect(() => { axios .get(`https://api.coingecko.com/api/v3/coins/${id}`, { params: { localization: false, }, }) .then((res) => { setCryptoDetails(res.data); }); }, [id]); if (!cryptoDetails) { return (); } return (); }; export default CryptoDetails;{cryptoDetails.name}
{cryptoDetails.symbol.toUpperCase()}
Current Price: ₹ {cryptoDetails.market_data.current_price.inr.toFixed(2)}
![]()
Description :
{cryptoDetails.description.en}
Market Data
Market Cap: ₹ {cryptoDetails.market_data.market_cap.inr.toLocaleString()}
Total Volume: ₹ {cryptoDetails.market_data.total_volume.inr.toLocaleString()}
24h High: ₹{cryptoDetails.market_data.high_24h.inr}
24h Low: ₹{cryptoDetails.market_data.low_24h.inr}
Price Change (24h): ₹ {cryptoDetails.market_data.price_change_24h.toFixed(2)}
Price Change Percentage (24h):{" "} {cryptoDetails.market_data.price_change_percentage_24h.toFixed(2)}%
Additional Information
Genesis Date: {cryptoDetails.genesis_date || "N/A"}
Homepage:{" "} {cryptoDetails.links.homepage[0]}
Blockchain Site:{" "} {cryptoDetails.links.blockchain_site[0]}
Le composant Navbar.js fournit un en-tête pour l'application.
import React from 'react' const Navbar = () => { return () } export default NavbarCrypto Finder
Le composant Footer.js fournit un pied de page pour l'application.
import React from 'react' const Footer = () => { return () } export default FooterMade with ❤️ by Abhishek Gurjar
Vous pouvez voir la démo en direct de l'application Crypto Finder ici.
Créer l'application Crypto Finder a été une expérience amusante et éducative. Il montre comment utiliser React pour récupérer et afficher des données, gérer le routage et créer une interface réactive et conviviale. J'espère que ce projet vous sera utile et qu'il vous inspirera pour créer vos propres applications avec React !
Abhishek Gurjar
N'hésitez pas à ajuster ou à ajouter plus de détails en fonction de vos préférences ou des fonctionnalités supplémentaires que vous avez peut-être implémentées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3