CodeBlanks Logo Icon CodeBlanks

Proje tasarımı

Notlar uygulamasının yapısını tasarlarsın.

Proje: Notlar uygulaması

Bu projede bir Notlar uygulaması yazacaksın. Kullanıcı yeni not ekler, mevcut notları görür ve uygulama kapansa bile notlar kaybolmaz. Beş derste adım adım ilerleyeceğiz; her ders bir öncekinin çözümünün üzerine bir parça ekler.

İlk ders projenin iskeletini kurar: Note modeli, notları tutan state ve ekranda liste. Sonra not ekleme formu, kalıcı saklama için AsyncStorage ve son olarak tüm parçaların birleşimi gelecek. Bu, gerçek bir React Native uygulamasının küçük ama eksiksiz bir örneğidir.

Note modeli

Uygulamanın temelinde Note modeli yatar. Her notun üç alanı vardır: benzersiz id, title (başlık) ve body (içerik). Bu alanlar bir nesnede toplanır; örneğin { id: "1", title: "Alışveriş", body: "Süt, ekmek" }.

id'nin benzersiz olması önemli; aynı id'li iki not olamaz. Genelde Date.now().toString() ile zaman damgası kullanılır. title ve body dizedir. Tüm notları bir dizide tutarsın: const [notes, setNotes] = useState([]). Boş dizi ile başlamak, uygulama ilk açıldığında not olmadığını gösterir.

Uygulama Notlar state'ini kur

Bir NotesApp bileşeni yaz. useState ile notes state'i tut (ilk değer boş dizi []). Bileşen <Text>Notlar</Text> döndürsün.

Başlangıç kodu

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

function NotesApp() {
  // notes state'ini useState ile başlat (boş dizi)

  return <Text>Notlar</Text>;
}

Örnek çözüm

App.js
import { useState } from "react";
import { Text } from "react-native";

function NotesApp() {
  const [notes, setNotes] = useState([]);
  return <Text>Notlar</Text>;
}

Soru ve cevaplar

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

1 Uygulama kapansa bile notlar nerede saklanır?

App.js
const [notes, setNotes] = useState([]);
  • console.log'da
  • Yalnızca state'te
  • AsyncStorage'da Doğru cevap
  • Hiçbir yerde

Açıklama: AsyncStorage kalıcı saklama sağlar.

2 Note nesnesini tamamla

Soru
const note = { id: "1", ____: "Alışveriş", body: "Süt" };
Cevap
const note = { id: "1", title: "Alışveriş", body: "Süt" };

Açıklama: title alanı notun başlığını tutar.

3 Alanı rolüne eşle

Kavram Anlamı
id Benzersiz kimlik
title Not başlığı
body Not içeriği
notes Not dizisi

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