paint-brush
İlk React Profil Sayfanızı Nasıl Oluşturursunuz?ile@hacker-ir9nrtp
1,384 okumalar
1,384 okumalar

İlk React Profil Sayfanızı Nasıl Oluşturursunuz?

ile 5m2024/06/16
Read on Terminal Reader

Çok uzun; Okumak

React'ta bir profil sayfası oluşturmak sadece gerekli değil aynı zamanda çok eğlenceli! Kullanıcılarınızın kişisel bilgilerini şık bir şekilde görüntülemesine ve yönetmesine olanak tanır. Bu eğitimde bazı harika paketleri kullanarak şık bir profil sayfası oluşturacağız. Sorunsuz gezinme için React Router'ı, verileri getirmek için Axios'u ve form girişlerini işlemek için Formik'i kullanacağız.
featured image - İlk React Profil Sayfanızı Nasıl Oluşturursunuz?
undefined HackerNoon profile picture
0-item

React'ta bir profil sayfası oluşturmak sadece gerekli değil aynı zamanda çok eğlenceli! Kullanıcılarınızın kişisel bilgilerini şık bir şekilde görüntülemesine ve yönetmesine olanak tanır. Bu eğitimde, harika profil resimleri için Avatarium, sorunsuz gezinme için React Router, veri getirmek için Axios ve form girişlerini yönetmek için Formik dahil olmak üzere bazı harika npm paketlerini kullanarak şık bir profil sayfası oluşturacağız. Hadi dalalım ve muhteşem bir şey yapalım!

Önkoşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Node.js ve npm yüklü
  • React'ın temel anlayışı
  • create-react-app kullanılarak yeni bir React projesi oluşturuldu

1. Adım: React Projenizi Kurun

Öncelikle, henüz yapmadıysanız yeni bir React projesi oluşturun:

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

Adım 2: Gerekli npm Paketlerini Kurun

Bu eğitim için birkaç npm paketine ihtiyacımız olacak:

  • Avatarium: rastgele temalı avatarlar oluşturmak için
  • React Router: navigasyonu yönetmek için
  • Axios: bir API'den veri almak için
  • Formik: form durumunu ve doğrulamayı yönetmek için


Bu paketleri çalıştırarak yükleyin:

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

Adım 3: React Router'ı Kurun

Uygulamamızdaki farklı sayfalar arasında gezinmek için React Router'ı kullanacağız. Öncelikle yönlendiriciyi App.js kurun:

 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;

4. Adım: Profil Sayfası Bileşenini Oluşturun

Daha sonra bir ProfilePage.js bileşeni oluşturun. Bu bileşen, kullanıcının avatarı, adı ve e-postası dahil olmak üzere profil bilgilerini görüntüler ve kullanıcının form.jsx kullanarak bilgilerini güncellemesine olanak tanır.

 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;

Bu bileşende:


  • Kullanıcı verilerini yönetmek için useState kancasını kullanıyoruz.


  • useEffect kancası, bileşen bağlandığında sahte bir API'den kullanıcı verilerini getirir.


  • Rastgele temalı bir avatar görüntülemek için Avatarium'un Avatar bileşenini kullanıyoruz.


  • Formik, form durumunu ve doğrulamayı yönetmek için kullanıldığından form girişlerini yönetmeyi ve gönderimleri yönetmeyi kolaylaştırır.

Adım 5: Profil Sayfasını Şekillendirme

Profil sayfasına stil vermek için bazı temel CSS'ler ekleyin. ProfilePage.css dosyası oluşturun ve bunu ProfilePage.js aktarın.

 /* 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; }


Bu CSS dosyasını ProfilePage.js aktarın:

 import './ProfilePage.css';

Adım 6: Uygulamanızı Çalıştırma

Son olarak, profil sayfasını çalışırken görmek için uygulamanızı çalıştırın:

 npm start

Profil sayfasını görüntülemek için http://localhost:3000/profile adresine gidin.

Çözüm

Bu eğitimde React, Avatarium, React Router, Axios ve Formik'i kullanarak basit bir profil sayfası oluşturduk. Bu sayfa, kullanıcı verilerini bir API'den alır ve bunları rastgele oluşturulmuş bir avatarla birlikte görüntüler ve kullanıcının bir form kullanarak bilgilerini güncellemesine olanak tanır. Kullanıcı bilgileri için ek alanlar, form için doğrulama kuralları ve geliştirilmiş stil gibi daha fazla özellik ekleyerek bu örneği genişletebilirsiniz.