React'ta Diziler Üzerinde Reaktif İşlemler
Şimdi dizilerin elemanları üzerinde reaktif
manipülasyonlar yapmayı öğrenelim.
Bunun için her bir li
öğesine, parametre olarak bu li'nin
dizideki indeksini ileteceğimiz
bir olay işleyici ekleyeceğiz:
function App() {
const [notes, setNotes] = useState([1, 2, 3, 4, 5]);
const result = notes.map((note, index) => {
return <li key={index} onClick={() => doSmth(index)}>
{note}
</li>;
});
return <div>
<ul>
{result}
</ul>
</div>;
}
Fonksiyonumuzun içinde dizimizin elemanı üzerinde herhangi bir işlem gerçekleştirebiliriz:
function App() {
...
function doSmth(index) {
let copy = Object.assign([], notes);
copy[index] += '!'; // elemanla bir şeyler yap
setNotes(copy);
}
}
Sayılardan oluşan bir dizi verildi. Bu diziyi
bir ul listesi olarak görüntüleyin.
Herhangi bir li'ye tıklandığında
ilgili sayının karesini alın.
Her li öğesinin sonuna, tıklandığında
o li öğesini listeden silecek
bir buton ekleyin.
Bir input verildi. Herhangi bir li'ye tıklandığında,
o li öğesinin metninin
inputa yazılmasını sağlayın.
Önceki görevi, input odak kaybettiğinde
değiştirilmiş metnin ilgili li
öğesine yazılacak şekilde değiştirin.
Bir buton verildi. Bu butona tıklandığında
li öğelerinin sırasını tersine çevirin.