useFormData
Form açılırken ihtiyaç duyulan listeleri (roller, departmanlar, şirketler
vb.) çekip önbelleğe alan hook. Veri yalnızca bir kez getirilir: enabled
true olduğunda ve data henüz boşken fetchFn çağrılır; veri geldikten
sonra tekrar istek atılmaz. Hook yeniden getirme (refetch) fonksiyonu
sunmaz — bu yüzden örneklerde "Yenile" butonu yoktur.
import { useFormData } from "@dataliva/livalib";
const urunleriGetir = () =>
new Promise<Urun[]>((res) => setTimeout(() => res(sahteUrunler), 800));
const { data, loading, error } = useFormData<Urun>({
fetchFn: urunleriGetir,
enabled: true,
});
Temel kullanım
Sahte fetchFn, 800 ms sonra Türkçe bir ürün listesi döndürür. İstek
sürerken loading true olur ve bir yükleme göstergesi gösterilir;
veri gelince liste çizilir.
Temel kullanım
Önizleme yükleniyor…
Tembel yükleme
enabled genellikle bir popup'ın görünürlüğüne bağlanır: false iken
istek atılmaz, true olur olmaz veri çekilir. Aşağıda enabled bir buton
ile tetikleniyor — butona bastıktan sonra tekrar true kalsa bile veri
önbellekte olduğu için yeni istek atılmaz.
enabled ile tembel yükleme
Önizleme yükleniyor…
Parametreler
| Alan | Tip | Açıklama |
|---|---|---|
fetchFn | () => Promise<T[]> | Veriyi getiren fonksiyon (zorunlu). |
enabled | boolean | true olduğunda veri çekilir; genellikle popup görünürlüğüne bağlanır (zorunlu). |
errorMessage | string | onError ile birlikte kullanılan özel hata metni. |
onError | (error: Error) => void | Hata durumunda çağrılan geri çağrı. |
Dönen Değerler
| Alan | Tip | Açıklama |
|---|---|---|
data | T[] | Getirilen veri; istek tamamlanana kadar boş dizi. |
loading | boolean | İstek sürüyor mu. |
error | Error | null | İstek başarısız olduysa hata nesnesi. |