Cihan Hocam, benim anlamadığım şey şu. Biz zaten filmlere click eventi ile tıklayarak film bilgilerini alabiliriz. Bunu da props olarak farklı bir componente gönderebiliriz. Elimizde veri zaten var. Neden bir daha id'ye göre api isteği yapıyoruz ki? Direkt bilgileri oradan çekebiliriz.
çok mantıklı bir soru tebrik ediyorum 👏 sebebini burada anlatmak uzun sürebilir fakat özet geçeyim. Bu önerdiğin yöntemi useLocation() isimli bir hook ile de halledebiliriz. MovieCard component'i içinde şöyle bir link var. Bu linke tıklandığında tıklanan filmin detay bilgisini router yapısı ile şu şekilde taşıyabiliriz: Linke tıklandığında film detay sayfasına yönlendirileceğiz ve film detay sayfası içinde useLocation() isimli hook'u kullanarak prop içindeki veriyi yakalayabiliriz. Fakat bizim bu yöntemi seçmeme sebebimiz, tmdb'de id kullanarak filtreleme yapabileceğimiz bir endpoint varken neden kullanmayalım ki dedik 😁Şaka bir yana, büyük bir sistemde çalışıyormuşuz gibi simüle etmeye çalışıyoruz. Prop drilling dediğimiz olaydan olabildiğince kaçmaya çalışıyoruz. Bu özellikle büyük projelerde daha iyi anlaşılıyor. Mesela film listesini ekrana basmak için kullandığımız endpoint içinde filmin tüm detay bilgileri olmayabilirdi çünkü sadece film kartlarını listelemek için kullanıyoruz. Bu sebeple çok fazla miktarda film detay bilgisi içeren farklı bir endpoint tasarlanmış olabilir. Bu endpoint'i bu videoda yaptığımız gibi ilgili filmin id'si ile kullanırdık ve yalnızca bir filme ait çok detaylı bir veri elde etmiş olurduk. Bir diğer sebep, en başta anlattığım useLocation() hook'unu kullanarak yapılan yöntemde, diyelim ki kullanıcı bir filmin detay sayfasındayken url adresini kopyalayıp başka birine yolladı. Yolladığı kişi bunu açtığında film detay sayfası boş olarak açılır. Çünkü filmin bilgisi film detay sayfasına yalnızca film kartına tıklayarak taşınıyordu. Direkt url kullanarak film detay sayfası açılmak istendiğinde doğal olarak prop boş gelirdi. Bu durum farklı kontrollerle çözülebilir. Hem sizin öneriniz hem de api birlikte kullanılması iyi olur bence. Neyse yazı çok uzadı ben en iyisi bu konuda bir video çekeyim 🤣
🫡
Keske benim de diksiyonum böyle olsa diksiyon egitmenleri sponsor olursanız seviniriz
@@MustafaCam-uv5fr 😂 Mustafam 👊🏼🤝🏻💪🏼
Cihan Hocam, benim anlamadığım şey şu. Biz zaten filmlere click eventi ile tıklayarak film bilgilerini alabiliriz. Bunu da props olarak farklı bir componente gönderebiliriz. Elimizde veri zaten var. Neden bir daha id'ye göre api isteği yapıyoruz ki? Direkt bilgileri oradan çekebiliriz.
çok mantıklı bir soru tebrik ediyorum 👏 sebebini burada anlatmak uzun sürebilir fakat özet geçeyim. Bu önerdiğin yöntemi useLocation() isimli bir hook ile de halledebiliriz. MovieCard component'i içinde şöyle bir link var. Bu linke tıklandığında tıklanan filmin detay bilgisini router yapısı ile şu şekilde taşıyabiliriz: Linke tıklandığında film detay sayfasına yönlendirileceğiz ve film detay sayfası içinde useLocation() isimli hook'u kullanarak prop içindeki veriyi yakalayabiliriz. Fakat bizim bu yöntemi seçmeme sebebimiz, tmdb'de id kullanarak filtreleme yapabileceğimiz bir endpoint varken neden kullanmayalım ki dedik 😁Şaka bir yana, büyük bir sistemde çalışıyormuşuz gibi simüle etmeye çalışıyoruz. Prop drilling dediğimiz olaydan olabildiğince kaçmaya çalışıyoruz. Bu özellikle büyük projelerde daha iyi anlaşılıyor. Mesela film listesini ekrana basmak için kullandığımız endpoint içinde filmin tüm detay bilgileri olmayabilirdi çünkü sadece film kartlarını listelemek için kullanıyoruz. Bu sebeple çok fazla miktarda film detay bilgisi içeren farklı bir endpoint tasarlanmış olabilir. Bu endpoint'i bu videoda yaptığımız gibi ilgili filmin id'si ile kullanırdık ve yalnızca bir filme ait çok detaylı bir veri elde etmiş olurduk. Bir diğer sebep, en başta anlattığım useLocation() hook'unu kullanarak yapılan yöntemde, diyelim ki kullanıcı bir filmin detay sayfasındayken url adresini kopyalayıp başka birine yolladı. Yolladığı kişi bunu açtığında film detay sayfası boş olarak açılır. Çünkü filmin bilgisi film detay sayfasına yalnızca film kartına tıklayarak taşınıyordu. Direkt url kullanarak film detay sayfası açılmak istendiğinde doğal olarak prop boş gelirdi. Bu durum farklı kontrollerle çözülebilir. Hem sizin öneriniz hem de api birlikte kullanılması iyi olur bence. Neyse yazı çok uzadı ben en iyisi bu konuda bir video çekeyim 🤣