CodeBlanks Logo Icon CodeBlanks

Drawer items

Drawer item'ları ve özelleştirmeyi öğrenirsin.

Drawer öğeleri

Drawer menüsündeki her öğe, bir Drawer.Screen tarafından tanımlanır. Öğenin etiketi name prop'undan gelir. Özelleştirmek için options prop'una title, drawerLabel veya drawerIcon eklersin.

Örnek: <Drawer.Screen name="Home" component={HomeScreen} options={{ title: "Ana Sayfa", drawerIcon: ... }} />. Burada title menüdeki etiketi belirler. drawerLabel da etiketi özelleştirir ama yalnızca Drawer menüsü için geçerlidir; başlık çubuğunu etkilemez. drawerIcon menü öğesinin yanına ikon koyar. Bu özelleştirmeler, menüyü görsel ve anlaşılır kılar. Drawer'da alt başlık (ör. "Hesap", "Uygulama") eklemek de yaygındır; bunu drawerContent ile yaparız. Drawer öğeleri, kullanıcının uygulamada gezinmesinin temel yoludur.

Uygulama Drawer öğelerine ikon ekle

Önceki dersteki gibi createDrawerNavigator'ı içe aktar, Drawer'a ata. Ionicons'u @expo/vector-icons'tan içe aktar. HomeScreen ve SettingsScreen basit bileşenler olsun. App bileşeninde her Drawer.Screen'in options'una drawerIcon: ({ color, size }) => <Ionicons name="home" color={color} size={size} /> ekle (Settings için name="settings").

Başlangıç kodu

App.js
// yan menü navigatorunu ve ikon setini içe aktar; Drawer'a ata
// HomeScreen ve SettingsScreen yaz

// App bileşeni yaz; her Drawer.Screen'in options'una ikon çizen alan ekle

Örnek çözüm

App.js
import { createDrawerNavigator } from "@react-navigation/drawer";
import { Ionicons } from "@expo/vector-icons";
import { Text } from "react-native";

const Drawer = createDrawerNavigator();

function HomeScreen() { return <Text>Ana sayfa</Text>; }
function SettingsScreen() { return <Text>Ayarlar</Text>; }

function App() {
  return (
    <Drawer.Navigator>
      <Drawer.Screen name="Home" component={HomeScreen} options={{ drawerIcon: ({ color, size }) => <Ionicons name="home" color={color} size={size} /> }} />
      <Drawer.Screen name="Settings" component={SettingsScreen} options={{ drawerIcon: ({ color, size }) => <Ionicons name="settings" color={color} size={size} /> }} />
    </Drawer.Navigator>
  );
}

drawerContent ile özel menü

Drawer menüsünü tamamen özelleştirmek için drawerContent prop'u kullanılır. Bu prop, varsayılan menü yerine render edilecek bir bileşen alır. Böylece menüye başlık, kullanıcı bilgisi, alt menü gibi özel bölümler eklersin.

Örnek: <Drawer.Navigator drawerContent={(props) => <CustomDrawer {...props} />}>. Burada CustomDrawer senin yazdığın bir bileşendir; props ile Drawer'dan gelen listedeki öğelere ve navigasyon işlevlerine erişirsin. Bu, profesyonel uygulamalarda sık görülen bir desendir. Drawer menüsünün üstünde kullanıcı adı ve avatar, altında çıkış butonu gibi ek bölümler eklemek için kullanılır. Bu özelleştirme, standart menüden çok daha fazlasını sağlar; markanı yansıtan bir menü ortaya koyar.

Soru ve cevaplar

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

1 Kavramı rolüne eşle

Kavram Anlamı
title Etiket belirler
drawerLabel Yalnız menü etiketi
drawerIcon Menü ikonu
options Özelleştirme

2 drawerLabel ne için kullanılır?

App.js
options={{ drawerLabel: "Ana Sayfa" }}
  • Başlık çubuğunu değiştirmek için
  • İkon eklemek için
  • Yalnızca Drawer menüsündeki etiketi değiştirmek için Doğru cevap
  • Rengi değiştirmek için

Açıklama: drawerLabel yalnızca Drawer menüsündeki etiketi değiştirir.

3 Menü etiketini ayarla

Soru
options={{ title: "____", drawerIcon: ... }}
Cevap
options={{ title: "Ana Sayfa", drawerIcon: ... }}

Açıklama: title: "Ana Sayfa" menü etiketini belirler.

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