LivaDocs

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

AlanTipAçıklama
fetchFn() => Promise<T[]>Veriyi getiren fonksiyon (zorunlu).
enabledbooleantrue olduğunda veri çekilir; genellikle popup görünürlüğüne bağlanır (zorunlu).
errorMessagestringonError ile birlikte kullanılan özel hata metni.
onError(error: Error) => voidHata durumunda çağrılan geri çağrı.

Dönen Değerler

AlanTipAçıklama
dataT[]Getirilen veri; istek tamamlanana kadar boş dizi.
loadingbooleanİstek sürüyor mu.
errorError | nullİstek başarısız olduysa hata nesnesi.