Maison >interface Web >js tutoriel >Recréation de la page d'accueil d'Interswitch avec React et TailwindCSS.
Introduction
Recréer une page de destination moderne et visuellement attrayante est toujours un défi passionnant. Cette semaine, je me suis concentré sur la création d'une réplique de la page d'accueil d'Interswitch à l'aide de React et TailwindCSS. Cet article fournit une présentation technique du processus, depuis la configuration du projet jusqu'à l'implémentation des composants et du style réutilisables. Voici comment je l'ai abordé :
Configuration du projet avec Vite
Vite est devenu mon outil de prédilection pour les projets React en raison de ses temps de construction ultra-rapides et de sa simplicité. Le processus de configuration impliqué :
npm create vite@latest interswitch-clone --template react cd interswitch-clone npm install
Une fois le serveur de développement en cours d'exécution, j'étais prêt à commencer à coder.
Composants structurants
Diviser la page d'accueil en composants réutilisables était essentiel pour la maintenabilité et l'évolutivité. Vous trouverez ci-dessous quelques composants clés que j'ai implémentés.
Composant NavBar
import { useState } from "react"; import { FaBars, FaTimes } from "react-icons/fa"; import { FiChevronDown } from "react-icons/fi"; const Navbar = () => { const [isOpen, setIsOpen] = useState(false); const [dropdownOpen, setDropdownOpen] = useState(false); const navLinks = [ { title: "About Us", hasDropdown: true }, { title: "What We Do", hasDropdown: true }, { title: "Financial Inclusion", hasDropdown: false }, { title: "Corporate Responsibility", hasDropdown: false }, { title: "News & Insights", hasDropdown: false }, ]; export default Navbar;
Composant Statistiques
const Stats = () => { return ( <div className="bg-blue-50 py-12"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> <div className="flex flex-col gap-8"> <div className="flex flex-col md:flex-row items-start gap-8"> <h2 className="text-3xl md:text-4xl font-semibold text-gray-900 flex-1"> Pushing the boundaries of innovation to deliver payment solutions that enable commerce across Africa </h2> <div className="flex-1 flex flex-col gap-4"> <p className="text-xl text-gray-700"> Bespoke payment solutions for your modern lifestyle, business collections, disbursements, and payment processing. </p> <button className="bg-blue-950 text-white px-6 py-3 rounded-md hover:bg-blue-900 transition w-fit"> Learn More </button> </div> </div> export default Stats;
Style avec TailwindCSS
TailwindCSS a rendu le style des composants transparent. En tirant parti des classes utilitaires, j'ai pu me concentrer sur les fonctionnalités sans écrire de CSS personnalisé. Par exemple, la section héros ci-dessous utilise les utilitaires de dégradé et de typographie de Tailwind pour créer un design accrocheur.
const Hero = () => { return ( <div className="text-blue-950 pt-6 relative"> <div className="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"> <div className="grid md:grid-cols-2 gap-12 items-center"> <div> <h1 className="text-2xl md:text-7xl mb-6 mt-16 font- text-blue-950"> The Gateway To Africa's Payment Ecosystem </h1> <p className="text-xl md:text-xl mb-8 text-black-200"> We create and sustain a payment ecosystem that helps commmerce evolve, businesses grow and individuals thrive. </p> </div> </div> </div> </div> export default Hero;
Points clés à retenir
Componentisation : diviser l'interface utilisateur en composants réutilisables a assuré une meilleure maintenabilité.
TailwindCSS : l'approche axée sur l'utilitaire a rendu le style intuitif et efficace.
Vite : ses temps de construction rapides ont amélioré l'expérience de développement.
Conclusion
Recréer la page d'accueil d'Interswitch a été une expérience enrichissante qui a solidifié ma compréhension de React et TailwindCSS. En tirant parti des outils modernes et des meilleures pratiques, j'ai créé une page de destination évolutive et visuellement attrayante. Si vous travaillez sur un projet similaire ou si vous avez des questions, connectons-nous dans les commentaires !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!