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 install
yazarak kütüphaneleri indirin. -
npm start
ya danode server.js
komutuyla çalıştırın. (Bu işlemle ilgili ilerleyen adımlarda daha açıklayıcı bilgiler bulacaksın) -
Başka bir terminal penceresinde
client
klasörüne girin venpm install
yazarak kütüphaneleri indirin. -
client
klasöründeykennpm start
yazarak 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 ... >
)-
Route
sıralaması hakkında sorun yaşamamak içinexact
propunu inceleyin: Route exact prop dökümantasyonu - Birinci route'unuz
/
olacak veFilmListesi
bileşenini yükleyecek. Bu bileşene proplarla filmler apisinden alınan datayı aktarın. - Diğer route
/filmler/
parametresinden sonraid
parametresini alacak (örnek:/filmler/2
,/filmler/3
).id
dinamik olacak. Bu routeFilm
bileşenini yükleyecek.
-
- Bir kullanıcı
FilmListesi
iç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.js
dosyasının 7. satırını düzenlenemeniz gerekir. -
KaydedilenlerListesi
bileşindekiAnaSayfa
butonuna 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ı
veFilmListesi
bileşenleri içindeki JSX'lerin oldukça benzer olduğunu farketmişsindir.Film
bileşeninde "detaylı" görünümünde bulunan ana farklılık starların listesidir. -
FilmCard.js
içinde bir Film Card'ı döndüren bir bileşen oluşturun.Film
veFilmDetayları
bileşenlerini kaldırıp, yeni oluşturduğunuzFilmCard
bileş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 Listesi
bileşenimizin olduğunu fark etmişsindir. Bu adımda bir film kaydetmek için bir işlevsellik ekleyeceksin.Film
bileşenineKaydedilenlerListesineEkle
fonksiyonunu gönderin. Daha sonraKaydet
butonuna bir click handler ekleyin.Film.js
içindeki 24-27 satır arasındaki kodun başındaki yorum etiketini kaldırman gerekmektedir.
- Kaydedilen filmler, filmin kendisine linklenmelidir.
filmiKaydet
fonksiyonunun ne işe yaradığını düşünün.
- Navlink