Junior
Do czego służy dyrektywa useState?
sobes.tech AI
Odpowiedź od AI
useState to hook React, który pozwala dodawać stan do komponentów funkcyjnych. Zwraca tablicę z dwoma elementami: aktualną wartością stanu i funkcją do jej aktualizacji. Wywołanie funkcji aktualizacji powoduje ponowne renderowanie komponentu z nową wartością.
Przykład użycia:
import { useState } from 'react';
function Counter() {
// 'count' to aktualny stan, 'setCount' to funkcja do jego aktualizacji
const [count, setCount] = useState(0);
return (
<div>
<p>Licznik: {count}</p>
<button onClick={() => setCount(count + 1)}>
Zwiększ
</button>
</div>
);
}
Główne cechy:
- Dodaje stan: Pozwala używać stanu w komponentach funkcyjnych, wcześniej dostępnego tylko w klasach.
- Funkcja aktualizacji: Zwraca specjalną funkcję do zmiany stanu.
- Ponowne renderowanie: Zmiana stanu przez funkcję aktualizacji powoduje ponowne renderowanie komponentu.
- Prymitywy i obiekty: Może przechowywać dowolne typy danych: liczby, łańcuchy, wartości logiczne, obiekty, tablice.
- Leniwa inicjalizacja: Wartość początkowa może być funkcją, która jest wykonywana tylko przy pierwszym renderze, co jest przydatne przy kosztownych obliczeniach.
const [data, setData] = useState(() => {
// Kosztowne obliczenia wykonywane tylko raz
const initialData = someExpensiveCalculation();
return initialData;
});