Konular:
- React Router
- Link ve NavLink kullanarak belirli routelara bağlantı vermek
- Route Parametreleri Atama
- Bileşenlere 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 bağımlılıkları indirin. -
npm start
ya danode server.js
komutuyla çalıştırın. (Bu işlemi neden yaptığımız konusunda endişelenmeyin, bu konuyla ilgili ilerleyen adımlarda daha açıklayıcı bilgiler bulacaksın). -
Başka bir terminal penceresinde
client
klasörüne girin venpm install
yazarak bağımlılıklarını 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 kullanılıyorsa port numarası farklı olabilir).
Uygulamanızı bitirdiğinizde 2 adet route'u olacaktır:
- Routerlarla app'i düzenleyin.
- App dosyanıza 2 adet route ekleyin.
- 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.
- birinci route'unuz
- 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