paint-brush
So erstellen Sie Ihre erste React-Profilseite!von@hacker-ir9nrtp
1,384 Lesungen
1,384 Lesungen

So erstellen Sie Ihre erste React-Profilseite!

von 5m2024/06/16
Read on Terminal Reader

Zu lang; Lesen

Das Erstellen einer Profilseite in React ist nicht nur wichtig, sondern macht auch super viel Spaß! So können Ihre Benutzer ihre persönlichen Daten stilvoll anzeigen und verwalten. In diesem Tutorial erstellen wir mithilfe einiger cooler Pakete eine elegante Profilseite. Wir verwenden React Router für eine reibungslose Navigation, Axios zum Abrufen von Daten und Formik für die Verarbeitung von Formulareingaben.
featured image - So erstellen Sie Ihre erste React-Profilseite!
undefined HackerNoon profile picture
0-item

Das Erstellen einer Profilseite in React ist nicht nur wichtig, sondern macht auch super viel Spaß! So können Ihre Benutzer ihre persönlichen Daten stilvoll anzeigen und verwalten. In diesem Tutorial erstellen wir eine elegante Profilseite mit einigen coolen npm-Paketen, darunter Avatarium für tolle Profilbilder, React Router für reibungslose Navigation, Axios zum Abrufen von Daten und Formik für die Verarbeitung von Formulareingaben. Lassen Sie uns loslegen und etwas Großartiges schaffen!

Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Node.js und npm installiert
  • Ein grundlegendes Verständnis von React
  • Ein neues React-Projekt wurde mit create-react-app erstellt

Schritt 1: Richten Sie Ihr React-Projekt ein

Erstellen Sie zunächst ein neues React-Projekt, falls Sie dies noch nicht getan haben:

 npx create-react-app profile-page cd profile-page

Schritt 2: Installieren Sie die erforderlichen npm-Pakete

Für dieses Tutorial benötigen wir mehrere NPM-Pakete:

  • Avatarium: zum Generieren von zufälligen thematischen Avataren
  • React Router: zur Handhabung der Navigation
  • Axios: zum Abrufen von Daten von einer API
  • Formik: zur Handhabung des Formularstatus und der Validierung


Installieren Sie diese Pakete, indem Sie Folgendes ausführen:

 npm install @sabfry/avatarium react-router-dom axios formik

Schritt 3: React Router einrichten

Wir verwenden React Router, um zwischen verschiedenen Seiten in unserer Anwendung zu navigieren. Richten Sie zunächst den Router in App.js ein:

 import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import ProfilePage from './ProfilePage';
 function App() { return ( <Router> <Switch> <Route path="/profile" component={ProfilePage} /> </Switch> </Router> ); }export default App;

Schritt 4: Erstellen der Profilseitenkomponente

Erstellen Sie als Nächstes eine ProfilePage.js Komponente. Diese Komponente zeigt die Profilinformationen des Benutzers an, einschließlich Avatar, Name und E-Mail, und ermöglicht dem Benutzer, seine Informationen mithilfe eines form.jsx zu aktualisieren.

 import React, { useState, useEffect } from 'react'; import axios from 'axios'; import Avatar from '@sabfry/avatarium'; import { Formik, Form, Field } from 'formik';
 const ProfilePage = () => { const [user, setUser] = useState(null); useEffect(() => { axios.get('https://api.example.com/user') .then(response => setUser(response.data)) .catch(error => console.error('Error fetching user data:', error)); }, []); if (!user) return <div>Loading...</div>; return ( <div className="profile-page"> <h1>Profile Page</h1> <div className="profile-info"> <Avatar theme="blobs" /> <h2>{user.name}</h2> <p>{user.email}</p> <Formik initialValues={{ name: user.name, email: user.email }} onSubmit={(values, { setSubmitting }) => { axios.post('https://api.example.com/user/update', values) .then(response => { setUser(response.data); setSubmitting(false); }) .catch(error => { console.error('Error updating user data:', error); setSubmitting(false); }); }} > {({ isSubmitting }) => ( <Form> <div> <label htmlFor="name">Name</label> <Field id="name" name="name" placeholder="John Doe" /> </div> <div> <label htmlFor="email">Email</label> <Field id="email" name="email" placeholder="[email protected]" type="email" /> </div> <button type="submit" disabled={isSubmitting}> Update </button> </Form> )} </Formik> </div> </div> ); };export default ProfilePage;

In dieser Komponente:


  • Wir verwenden den useState Hook, um die Benutzerdaten zu verwalten.


  • Der useEffect Hook ruft beim Mounten der Komponente Benutzerdaten von einer Mock-API ab.


  • Wir verwenden die Avatar Komponente von Avatarium, um einen Avatar mit zufälligem Thema anzuzeigen.


  • Formik wird zur Handhabung des Formularstatus und der Validierung verwendet und erleichtert die Verwaltung von Formulareingaben und die Bearbeitung von Übermittlungen.

Schritt 5: Gestalten der Profilseite

Fügen Sie einige grundlegende CSS hinzu, um die Profilseite zu gestalten. Erstellen Sie eine Datei ProfilePage.css und importieren Sie sie in ProfilePage.js .

 /* ProfilePage.css */ .profile-page { display: flex; flex-direction: column; align-items: center; padding: 20px; }
 .profile-info { display: flex; flex-direction: column; align-items: center; border: 1px solid #ddd; padding: 20px; border-radius: 10px; background-color: #f9f9f9; }.profile-info div { margin-bottom: 10px; }button { background-color: #007bff; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; }button:disabled { background-color: #c0c0c0; cursor: not-allowed; }


Importieren Sie diese CSS-Datei in Ihre ProfilePage.js :

 import './ProfilePage.css';

Schritt 6: Ausführen Ihrer Anwendung

Führen Sie abschließend Ihre Anwendung aus, um die Profilseite in Aktion zu sehen:

 npm start

Navigieren Sie zu http://localhost:3000/profile um die Profilseite anzuzeigen.

Abschluss

In diesem Tutorial haben wir mit React, Avatarium, React Router, Axios und Formik eine einfache Profilseite erstellt. Diese Seite ruft Benutzerdaten von einer API ab und zeigt sie zusammen mit einem zufällig generierten Avatar an. Außerdem ermöglicht sie dem Benutzer, seine Informationen mithilfe eines Formulars zu aktualisieren. Sie können dieses Beispiel erweitern, indem Sie weitere Funktionen hinzufügen, z. B. zusätzliche Felder für Benutzerinformationen, Validierungsregeln für das Formular und verbessertes Styling.