React'da ma'lumotlarga qanday kirish mumkin?
sobes.tech AI
AIdan javob
React'da ma'lumotlarga kirishning bir nechta usullari mavjud:
-
Props: Otadan bolaga ma'lumotlarni uzatish. Props komponent ichida o'zgartirilmaydi.
// Otacomponent function ParentComponent() { const data = "Otadan Salom!"; return <ChildComponent myData={data} />; } // Bolacomponent function ChildComponent(props) { return <p>{props.myData}</p>; // props.myData orqali ma'lumotlarga kirish } -
Holat (State): Komponent ichida ma'lumotlarni boshqarish, ular vaqt o'tishi bilan o'zgarishi mumkin. Komponentga xos ma'lumotlar uchun ishlatiladi.
import React, { useState } from 'react'; function MyComponent() { const [count, setCount] = useState(0); // Holatni aniqlash function handleClick() { setCount(count + 1); // Holatni o'zgartirish } return ( <div> <p>Hisob: {count}</p> <button onClick={handleClick}>Oshirish</button> </div> ); } -
Context API: Ma'lumotlarni markazlashtirilgan boshqarish yechimi, ko'plab ichma-ich bo'laklar uchun props uzatmasdan kirish imkonini beradi. Global yoki tez-tez ishlatiladigan ma'lumotlar uchun mos (masalan, mavzu, autentifikatsiya).
import React, { createContext, useContext } from 'react'; // Kontekst yaratish const MyContext = createContext(); // Kontekst ta'minlovchisi function MyProvider({ children }) { const sharedData = "Ulashilgan ma'lumot"; return ( <MyContext.Provider value={sharedData}> {children} </MyContext.Provider> ); } // Kontekst iste'molchi function MyConsumerComponent() { const data = useContext(MyContext); // useContext orqali ma'lumotlarga kirish return <p>{data}</p>; } -
Maxsus Hooks: Tashqi manbalardan (masalan, API) ma'lumot olish uchun qayta ishlatiladigan mantiq yaratish.
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 xatosi! status: ${response.status}`); } const result = await response.json(); setData(result); } catch (error) { setError(error); } finally { setLoading(false); } } fetchData(); }, [url]); // urlga bog'liqlik return { data, loading, error }; } // Hookdan foydalanish function DataDisplay() { const { data, loading, error } = useFetchData('https://api.example.com/data'); if (loading) return <p>Yuklanmoqda...</p>; if (error) return <p>Xato: {error.message}</p>; return <p>{JSON.stringify(data)}</p>; } -
Kutubxonalar (Redux, Zustand va boshqalar): Murakkab holatlarni boshqarish uchun tashqi kutubxonalar qo'llaniladi. Ular markaziy ma'lumotlar ombori va ularni boshqarish mexanizmlarini taklif qiladi.