CodeBlanks Logo Icon CodeBlanks

useToggle

useToggle özel hook'unu yazmayı öğrenirsin.

useToggle nedir?

useToggle bir boolean değeri açıp kapatmak için kullanılan özel hook'tur. İçinde useState tutar ve toggle fonksiyonu döndürür. toggle çağrıldığında değer true ise false, false ise true olur.

Yaygın kullanım: menü aç/kapa, modal göster/gizle, detay genişlet/daralt. const [isOpen, toggle] = useToggle(false) yazarak başlatırsın. Butonun onPress'ine toggle verirsin; böylece her basışta değer döner. Bu desen hem kodu kısaltır hem de tutarlılık sağlar.

useToggle kullanımı

Bir bileşende useToggle'ı çağırırken yıkım kullanırsın. const [isVisible, toggle] = useToggle(false) yazarsın; isVisible state, toggle ise onu tersine çeviren fonksiyondur.

Butona basıldığında toggle'ı çağırırsın; isVisible her seferinde tersine döner. Açık ise kapanır, kapalı ise açılır. İlk değer false yerine true de verebilirsin; bu yalnızca başlangıç durumunu belirler. useToggle tekrar tekrar yazılan setOpen(!open) mantığını tek bir hook'ta toplar.

Uygulama useToggle'ı yaz

useToggle özel hook'unu yaz. useState ile value state'i tut (ilk değer initial parametresi). toggle fonksiyonu !value atar. Hook [value, toggle] döndürsün.

Başlangıç kodu

App.js
// useState'i içe aktar

// useToggle özel hook'unu yaz
// value state'i initial ile başlat
// toggle !value atar
// [value, toggle] döndür

Örnek çözüm

App.js
import { useState } from "react";

function useToggle(initial) {
  const [value, setValue] = useState(initial);
  const toggle = () => setValue(!value);
  return [value, toggle];
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Toggle mantığını tamamla

Soru
function useToggle(initial) {
  const [value, setValue] = useState(initial);
  const toggle = () => setValue(____);
  return [value, toggle];
}
Cevap
function useToggle(initial) {
  const [value, setValue] = useState(initial);
  const toggle = () => setValue(!value);
  return [value, toggle];
}

Açıklama: !value her seferinde tersini alır.

2 useToggle ne döndürür?

App.js
const [isOpen, toggle] = useToggle(false);
  • Yalnızca değeri
  • Yalnızca fonksiyonu
  • Hiçbir şey
  • Değeri ve toggle fonksiyonu Doğru cevap

Açıklama: useToggle değer ve toggle fonksiyonu döndürür.

3 Parçayı rolüne eşle

Kavram Anlamı
useToggle Boolean aç/kapa
useState State tutar
toggle Değeri ters çevirir
initial Başlangıç değeri

Orta seviye bölümündeki tüm dersler