[]

Basit bir React useState sorusu
Arkadaşlar useState hookunun ne işe yaradığını biliyorum.
const [counter, setCounter] = useState(0);
Mesela yukarıda, destructing yöntemiyle counter'ı 0'dan başlatıyoruz. Daha sonra onu setCounter'la değiştirebiliriz.
Fakat bazen, özellikle proje yapan kanalları izlediğimde şöyle bir yazımla karşılaşıyorum:
const [data, setData] = useState([]);
Buradaki array'le ne kastediyoruz? İşlevi ne oluyor tam olarak? Gelen veriyi, array olarak almamızı mı sağlıyor?
Basit bir konu, başka bir yerde açıklamasını görmüştüm ama unutmuşum yine.
const [counter, setCounter] = useState(0);
Mesela yukarıda, destructing yöntemiyle counter'ı 0'dan başlatıyoruz. Daha sonra onu setCounter'la değiştirebiliriz.
Fakat bazen, özellikle proje yapan kanalları izlediğimde şöyle bir yazımla karşılaşıyorum:
const [data, setData] = useState([]);
Buradaki array'le ne kastediyoruz? İşlevi ne oluyor tam olarak? Gelen veriyi, array olarak almamızı mı sağlıyor?
Basit bir konu, başka bir yerde açıklamasını görmüştüm ama unutmuşum yine.

Yukarıdaki counter ile aynı mantık aslında. Başlangıç değerini boş bir array olarak atıyor. Yani bu data array tipinde veri alacak. Başlangıç değerini useState'e ekliyor. Nasıl 0 ile number, "deneme" diye string, {} ile boş obje ekleyebilirse [] bununla da boş array'i başlangıç değeri olarak set'liyor.
- ilgeru
(10.09.22 15:49:56)

eskiden class component yapıda nasıldı, state e değişkenler ekliyorduk;
userName: '',
products: [],
payload: {},
count: 0,
gibi.
şöyle bir şey olmuyordu
userName: ,
age: ,
products ,
state veya useState kullanırken null da olsa bir initial value vermek gerekiyor.
O yüzden oraya istediğiniz başlangıç değerini yazabilirsiniz.
Neden başlangıç değeri vermek tercih ediliyor? const a; diyerek de değişken tanımlanabilir mesela. Ama string bir ifade alan bir componente tutup {title} yazarsanız ve title da tanımsızsa veya integer ise orası patlayabilir.
Veye count a bir ilk değer vermezseniz ama bir yerde +5 yap bunu derseniz orada patlar.
products ı array olarak tanımlamaz ve aşağıda push, map gibi fonksiyonlar kullanırsanız yine patlar çünkü o tipin özellikleri arasında push metodu yok.
.lenght kullanabilmek için String bir ifade olması lazım..
O yüzden ihtiyaca göre array: [] de ilk değer olarak yazılabilir.
useState('Ayşe'); de yazılabilir. Oradaki değer ilk değeri unutmayın.
const name = 'Ayşe'; ile aynı mantık.
userName: '',
products: [],
payload: {},
count: 0,
gibi.
şöyle bir şey olmuyordu
userName: ,
age: ,
products ,
state veya useState kullanırken null da olsa bir initial value vermek gerekiyor.
O yüzden oraya istediğiniz başlangıç değerini yazabilirsiniz.
Neden başlangıç değeri vermek tercih ediliyor? const a; diyerek de değişken tanımlanabilir mesela. Ama string bir ifade alan bir componente tutup {title} yazarsanız ve title da tanımsızsa veya integer ise orası patlayabilir.
Veye count a bir ilk değer vermezseniz ama bir yerde +5 yap bunu derseniz orada patlar.
products ı array olarak tanımlamaz ve aşağıda push, map gibi fonksiyonlar kullanırsanız yine patlar çünkü o tipin özellikleri arasında push metodu yok.
.lenght kullanabilmek için String bir ifade olması lazım..
O yüzden ihtiyaca göre array: [] de ilk değer olarak yazılabilir.
useState('Ayşe'); de yazılabilir. Oradaki değer ilk değeri unutmayın.
const name = 'Ayşe'; ile aynı mantık.
- ananiyimioguz
(10.09.22 16:59:32 ~ 17:14:26)
1