paint-brush
¡Cómo crear su primera página de perfil de React!por@hacker-ir9nrtp
1,366 lecturas
1,366 lecturas

¡Cómo crear su primera página de perfil de React!

por 5m2024/06/16
Read on Terminal Reader

Demasiado Largo; Para Leer

¡Crear una página de perfil en React no solo es esencial sino también súper divertido! Permite a sus usuarios ver y administrar su información personal con estilo. En este tutorial, vamos a crear una página de perfil elegante utilizando algunos paquetes interesantes. Usaremos React Router para una navegación fluida, Axios para recuperar datos y Formik para manejar las entradas de formularios.
featured image - ¡Cómo crear su primera página de perfil de React!
undefined HackerNoon profile picture
0-item

¡Crear una página de perfil en React no solo es esencial sino también súper divertido! Permite a sus usuarios ver y administrar su información personal con estilo. En este tutorial, crearemos una página de perfil elegante utilizando algunos paquetes npm interesantes, incluido Avatarium para imágenes de perfil increíbles, React Router para una navegación fluida, Axios para obtener datos y Formik para manejar entradas de formularios. ¡Sumergámonos y hagamos algo increíble!

Requisitos previos

Antes de comenzar, asegúrese de tener lo siguiente:

  • Node.js y npm instalados
  • Una comprensión básica de reaccionar
  • Se creó un nuevo proyecto de React usando create-react-app

Paso 1: configura tu proyecto React

Primero, crea un nuevo proyecto de React si aún no lo has hecho:

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

Paso 2: instale los paquetes npm necesarios

Necesitaremos varios paquetes npm para este tutorial:

  • Avatarium: para generar avatares temáticos aleatorios
  • React Router: para manejar la navegación
  • Axios: para recuperar datos de una API
  • Formik: para manejar el estado del formulario y la validación


Instale estos paquetes ejecutando:

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

Paso 3: configurar el enrutador React

Usaremos React Router para navegar entre diferentes páginas de nuestra aplicación. Primero, configure el enrutador en App.js :

 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;

Paso 4: crear el componente de la página de perfil

A continuación, cree un componente ProfilePage.js . Este componente mostrará la información del perfil del usuario, incluido su avatar, nombre y correo electrónico, y permitirá al usuario actualizar su información mediante un formulario.jsx.

 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;

En este componente:


  • Usamos el gancho useState para administrar los datos del usuario.


  • El gancho useEffect obtiene datos del usuario de una API simulada cuando se monta el componente.


  • Usamos el componente Avatar de Avatarium para mostrar un avatar con un tema aleatorio.


  • Formik se utiliza para manejar el estado y la validación del formulario, lo que facilita la administración de las entradas del formulario y el manejo de los envíos.

Paso 5: diseñar la página de perfil

Agregue algo de CSS básico para diseñar la página de perfil. Cree un archivo ProfilePage.css e impórtelo a 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; }


Importe este archivo CSS a su ProfilePage.js :

 import './ProfilePage.css';

Paso 6: ejecutar su aplicación

Finalmente, ejecute su aplicación para ver la página de perfil en acción:

 npm start

Navegue a http://localhost:3000/profile para ver la página de perfil.

Conclusión

En este tutorial, creamos una página de perfil simple usando React, Avatarium, React Router, Axios y Formik. Esta página obtiene datos del usuario de una API y los muestra junto con un avatar generado aleatoriamente, y permite al usuario actualizar su información mediante un formulario. Puede ampliar este ejemplo agregando más funciones, como campos adicionales para información del usuario, reglas de validación para el formulario y estilo mejorado.