React JS'de API'den Veri Alma ve Görüntüleme Kılavuzu

Yayınlanan: 2024-10-01

Bir API'den veri almak ve görüntülemek, modern React uygulamalarında temel bir görevdir. React'ın gelişmesiyle birlikte veri getirme işlemi daha basit hale geldi ve HTTP istekleri yapmak için birden fazla yöntem sunuyor. Bu kılavuzda React'ı kullanarak veri alma ve görüntüleme adımlarını ele alacağız.

İçindekiler

Değiştir

React Projesini Kurma

API getirmeye başlamadan önce bir React projenizin kurulu olduğundan emin olun. Kullanarak bir tane oluşturabilirsiniz

  • npx create-react-app my-app
    cd my-app
    npm start

Bu, yeni bir React projesini başlatır ve bir geliştirme sunucusunu çalıştırır.

️ Adım Adım: React'ta Veri Getirme

1. Verileri Depolamak İçin Durum Oluşturun

Getirilen verileri depolamak üzere bir durum değişkeni oluşturmak için useState kancasını kullanın.

javascript

  • const [data, setData] = useState([]);

2. useEffect ile API Verilerini Getirin

React'ın useEffect kancası, bileşen bağlandığında veri alımının gerçekleşmesini sağlar. API'den veri almak için fetch() işlevi kullanılır.

javascript

  • useEffect(() => {
    fetch('https://api.example.com/data')
    .then(response => response.json())
    .then(data => setData(data))
    .catch(error => console.error('Error:', error));
    }, []);

3. Alınan Verileri Görüntüleyin

Veriler alındıktan sonra, map() yöntemi kullanılarak JSX'te oluşturulabilir:

  • return (
    <div>
    <ul>
    {data.map(item => (
    <li key={item.id}>{item.name}</li>
    ))}
    </ul>
    </div>
    );

️ Veri Getirmek için Axios'u Kullanma

fetch() yerel tarayıcı API'si olmasına rağmen, birçok geliştirici basitliği ve güçlü özellikleri nedeniyle Axios gibi kütüphaneleri kullanmayı tercih ediyor. İşte Axios kullanımına bir örnek:

Axios'u yükleyin :

  • npm install axios

Veri Getiriliyor

  • useEffect(() => {
    axios.get('https://api.example.com/data')
    .then(response => setData(response.data))
    .catch(error => console.error('Error:', error));
    }, []);

Kenar Durumlarını İşleme

  • Yükleme Durumları : Veriler alınırken yükleme durumunu yönetmek önemlidir.
  • Hata İşleme : Doğru hata işlemeyi uygulamak kullanıcı deneyimini geliştirebilir.

Örnek:

const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);

useEffect(() => {
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
setData(data);
setLoading(false);
})
.catch(error => {
setError(error);
setLoading(false);
});
}, []);

Çözüm

React'ta API'lerden veri almak ve görüntülemek, dinamik web uygulamaları oluşturmak için çok önemlidir. İster fetch() API'sini ister Axios gibi bir kütüphaneyi kullanıyor olun, süreç verileri depolamak için bir durum tanımlamayı, istekte bulunmayı ve sonuçları oluşturmayı içerir. Bu adımları anlayarak ve yükleme ve hatalar gibi uç durumları ele alarak duyarlı, veri odaklı uygulamaları verimli bir şekilde oluşturabilirsiniz.

Sıkça Sorulan Sorular

1. API verilerini almaya başlamak için bir React projesini nasıl kurarım?

Bir React projesi kurmak için aşağıdaki komutları çalıştırın:

npx create-react-app my -app
cd my -app
npm start

Bu, projeyi başlatır ve bir geliştirme sunucusunu başlatır.

2. Getirilen verileri React'ta nasıl saklarım?

Getirilen verileri useState kancasını kullanarak saklayabilirsiniz. Örnek:

const [data, setData] = useState ([]);

3. Bileşen bağlandığında React'a nasıl veri getirebilirim?

Bileşen monte edildiğinde verileri almak için useEffect kancasını kullanın:

useEffect ( () => {
fetch ( 'https://api.example.com/data' )
. then ( response => response. json ())
. then ( data => setData (data))
. catch ( error => console . error ( 'Error:' , error));
}, []);

4. Verileri işlerken React'ta map() yöntemini kullanmanın amacı nedir?

map() yöntemi, getirilen veri dizisinde döngü yapmak ve JSX'teki her öğeyi oluşturmak için kullanılır. Örneğin:

<ul>
{data. map ( item => (
< li key = {item.id} > {item.name} </ li >
))}
</ul>

5. Getirme API'si yerine neden Axios'u kullanayım?

Birçok geliştirici, HTTP isteklerini basitleştirdiği, daha fazla özellik sunduğu ve eski tarayıcıları daha tutarlı bir şekilde desteklediği için Axios'u tercih ediyor.

6. Axios'u React projeme nasıl kurarım?

Axios'u yüklemek için şunu çalıştırın:

npm install axios

7. React'ta Axios'u kullanarak verileri nasıl getiririm?

Axios ile aşağıdaki gibi verileri alabilirsiniz:

useEffect ( () => {
axios. get ( 'https://api.example.com/data' )
. then ( response => setData (response. data ))
. catch ( error => console . error ( 'Error:' , error));
}, []);

8. React'ta veri alırken yükleme durumlarını nasıl halledebilirim?

useState ile bir loading değişkeni oluşturarak yükleme durumlarını yönetebilirsiniz. Örneğin:

const [loading, setLoading] = useState ( true );

useEffect ( () => {
getir ( 'https://api.example.com/data' )
. sonra ( yanıt => yanıt.json ())
. sonra ( veri => {
setData (veri);
setLoading ( yanlış );
});
}, []);

9. Verileri getirirken oluşan hataları nasıl ele alacağım?

Hataları işlemek için bir error durumu tanımlayın ve isteğin başarısız olması durumunda bunu güncelleyin:

const [error, setError] = useState ( null );

useEffect ( () => {
getir ( 'https://api.example.com/data' )
. yakalamak ( hata => {
setError (hata);
setLoading ( yanlış );
});
}, []);

10. Yükleme ve API getirme hataları gibi uç durumları ele almak neden önemlidir?

Yükleme ve hatalar gibi uç durumların ele alınması, kullanıcıların mevcut veri alma durumu hakkında bilgi sahibi olmasını sağlar ve veri almanın başarısız olduğu veya zaman aldığı durumlarda daha sorunsuz bir kullanıcı deneyimi sağlar.