Konular:
- React Router
- Link ve NavLink kullanarak belirli routelara bağlantı vermek
- Route Parametreleri Atama
- Componentlere Proplar göndererek Router render etme
-
Repoyu Forklayın , ve forku klonlayın.
-
Not Çalıştıracağınız 2 server var o yüzden talimatları dikkatlice okuyun.
-
Root klasöründe:
npm installyazarak kütüphaneleri indirin. -
npm startya danode server.jskomutuyla çalıştırın. (Bu işlemle ilgili ilerleyen adımlarda daha açıklayıcı bilgiler bulacaksın) -
Başka bir terminal penceresinde
clientklasörüne girin venpm installyazarak kütüphaneleri indirin. -
clientklasöründeykennpm startyazarak client uygulamasını çalıştırın. -
Öncelikle uygulamanız client üzerinden çalışmaya başlayınca şuradaki gibi bir tarayıcı penceresi göreceksiniz: bknz
localhost:3000(eğer 3000 portu boşta değilse 3001 portu kullanılabilir).
Uygulamanızı bitirdiğinizde 2 adet route'u olacaktır:
- App componentine Route eklemek için hazılayın (
<Router>&<Switch>) - App dosyanıza 2 adet route ekleyin. (
<Route ... >)-
Routesıralaması hakkında sorun yaşamamak içinexactpropunu inceleyin: Route exact prop dökümantasyonu - Birinci route'unuz
/olacak veFilmListesibileşenini yükleyecek. Bu bileşene proplarla filmler apisinden alınan datayı aktarın. - Diğer route
/filmler/parametresinden sonraidparametresini alacak (örnek:/filmler/2,/filmler/3).iddinamik olacak. Bu routeFilmbileşenini yükleyecek.
-
- Bir kullanıcı
FilmListesiiçindeki film cardına tıkladığında seçilen filmin detaylarını görebilmeli {/movies/{tıklanılan film idsi}. - URL'den seçilen film idsini almak için
Film.jsdosyasının 7. satırını düzenlenemeniz gerekir. -
KaydedilenlerListesibileşindekiAnaSayfabutonuna işlevsellik kazındırın, Anasayfaya geri dönmeli. - Artık fil listesinde ileri geri ilerleyebiliyor olmalısın ve bir filmin detaylarını görebilmelisin.
Eğer Görev 1 ve 2'yi tamamladıktan sonra bu göreve geçebilirsin.
-
Film,FilmDetaylarıveFilmListesibileşenleri içindeki JSX'lerin oldukça benzer olduğunu farketmişsindir.Filmbileşeninde "detaylı" görünümünde bulunan ana farklılık starların listesidir. -
FilmCard.jsiçinde bir Film Card'ı döndüren bir bileşen oluşturun.FilmveFilmDetaylarıbileşenlerini kaldırıp, yeni oluşturduğunuzFilmCardbileşeniyle uygulamayı yeniden geliştirin. - Film Card, bir filmi star listesi olsun ya da olmasın görüntülemeye yetecek kadar esnek olmalıdır.
- Halihazırda kullanmadığımız bir
Kaydedilenler Listesibileşenimizin olduğunu fark etmişsindir. Bu adımda bir film kaydetmek için bir işlevsellik ekleyeceksin.FilmbileşenineKaydedilenlerListesineEklefonksiyonunu gönderin. Daha sonraKaydetbutonuna bir click handler ekleyin.Film.jsiçindeki 24-27 satır arasındaki kodun başındaki yorum etiketini kaldırman gerekmektedir.
- Kaydedilen filmler, filmin kendisine linklenmelidir.
filmiKaydetfonksiyonunun ne işe yaradığını düşünün.
- Navlink