React-də məlumatlara necə daxil olmaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
React-də verilərə çıxışın bir neçə yolu var:
-
Props: Ata komponentdən uşaq komponentə məlumat ötürmək. Props komponent daxilində dəyişdirilə bilməz.
// Ata komponent function ParentComponent() { const data = "Ata tərəfindən Salam!"; return <ChildComponent myData={data} />; } // Uşaq komponent function ChildComponent(props) { return <p>{props.myData}</p>; // props.myData vasitəsilə verilərə çıxış } -
Vəziyyət (State): Komponent daxilində məlumatların idarə olunması, zamanla dəyişə bilər. Komponentə xas məlumatlar üçün istifadə olunur.
import React, { useState } from 'react'; function MyComponent() { const [count, setCount] = useState(0); // Vəziyyətin təyin olunması function handleClick() { setCount(count + 1); // Vəziyyətin dəyişdirilməsi } return ( <div> <p>Sayaç: {count}</p> <button onClick={handleClick}>Artır</button> </div> ); } -
Context API: Məlumatların mərkəzləşdirilmiş idarə olunması üçün həll, çox sayda iç-içə komponent üçün props-u hər səviyyədə ötürmədən giriş imkanı verir. Qlobal və ya tez-tez istifadə olunan məlumatlar üçün uyğundur (məsələn, mövzu, autentifikasiya).
import React, { createContext, useContext } from 'react'; // Kontekstin yaradılması const MyContext = createContext(); // Kontekst təminatçısı function MyProvider({ children }) { const sharedData = "Paylaşılan məlumat"; return ( <MyContext.Provider value={sharedData}> {children} </MyContext.Provider> ); } // Kontekst istifadəçisi function MyConsumerComponent() { const data = useContext(MyContext); // useContext vasitəsilə giriş return <p>{data}</p>; } -
Xüsusi Hooks: Xarici mənbələrdən (məsələn, API) məlumat əldə etmək üçün təkrar istifadə olunan məntiqin yaradılması.
import { useState, useEffect } from 'react'; function useFetchData(url) { const [data, setData] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { async function fetchData() { try { const response = await fetch(url); if (!response.ok) { throw new Error(`HTTP xətası! status: ${response.status}`); } const result = await response.json(); setData(result); } catch (error) { setError(error); } finally { setLoading(false); } } fetchData(); }, [url]); // url-ə asılılıq return { data, loading, error }; } // Hook-un istifadəsi function DataDisplay() { const { data, loading, error } = useFetchData('https://api.example.com/data'); if (loading) return <p>Yüklənir...</p>; if (error) return <p>Xəta: {error.message}</p>; return <p>{JSON.stringify(data)}</p>; } -
Kitabxanalar (Redux, Zustand və s.): Tətbiqin mürəkkəb vəziyyətlərinin idarə olunması üçün xarici kitabxanalar istifadə olunur. Onlar mərkəzləşdirilmiş məlumat anbarı və onların dəyişdirilməsini idarə edən mexanizmlər təklif edir.