Bu projede hafta boyunca öğrendiğiniz, redux özellikleri, redux thunk middleware'i ve localStorage ile bir "Minnet günlüğü" yapacaksınız.
redux-thunk sayesinde bir API'ye request yapabilecek, localStorage sayesinde ise uygulamanıza eklediğiniz verileri kaybetmeden kullanabileceksiniz.
Minnet günlüğü, kişinin hayatındaki olumlu şeylere odaklanması,
minnettarlık ve şükran duygusunu hissetmesi için sık sık
teşekkür ettiği şeyleri yazdığı bir tür günlüktür. Zihinsel iyi
oluş için basit fakat oldukça etkili bir yöntemdir ve kişinin
hayata pozitif bir bakış açısı geliştirmesine yardımcı olabilir.
Bu günlük içerisinde daha önce eklenmiş notlar listelenmeli, notlar silinebilmeli ve yeni notlar eklenebilmelidir.
Görevlerinizi tek tek tamamladığınızdan ve ilerlemeden önce her bir görevi test ettiğinizden emin olun.
- Forklayın.
- Klonlayın
- Ana dizine gidin
-
npm install -
npm start
Yeni not ekleme ve silme işlemi esnasında bir API'ye request atılmalı ve gelen cevaba göre store ve localStorage güncellenmelidir.
LocalStorage'ı minik bir veritabanı olarak kullanmak için uygulama eğer varsa daha önce localStorage'a kaydedilmiş verilerle başlatılmalı ve redux store'unda yapılan her değişiklik localStorage'a da yansıtılmalıdır.
-
Projeyi inceleyin ve componentlar arasındaki ilişkiyi bulun.
-
actions.jsdosyasını inceleyin, kod eklemeniz gereken yerleri bulun. -
reducers.jsdosyası içerisinde store oluştururken kullanacağınızreducerfonksiyonunuzuactions.jsdosyasına göre oluşturun. State başlangıç değerleri için şimdilikbaslangicDegerlerini kullanabilirsiniz. -
redux,react-reduxveredux-thunkpaketlerini projenize ekleyin veindex.jsdosyası içerisinde redux store unuzu oluşturun. redux-thunk paketini middleware olarak eklemeyi unutmayın. -
PostList.jsdosyasında listelemek üzere store içerisindeki notlarıuseSelectorkullanarak alın venotlararrayine eşitleyin. -
PostForm.jsdosyasındaki form submit edildiğinde, actions içerisindennotEkleAPIactionunu, formun verisi ile dispatch edin. Bu kısmı ekledikten sonraactions.jsdosyasında gerekli değişiklikleri, yönergeleri takip ederek yapın. -
Post.jsiçerisinde silme eylemini not id si ile dispatch edin ve yineactions.jsdosyasında gerekli değişiklikleri, yönergeleri takip ederek yapın. -
Ekleme ve silme işlemlerinden sonra kullanıcıya geri bildirim vermek için
react-toastifypaketini kullanın.
Tarayıcınızda daha önceden localStorage içerisinde Minnet Günlüğü uygulaması tarafından depolanmış veri varsa, uygulamanız bu verileri kullanarak açılmalıdır. (Bu sayede tarayıcınızı kapatmış ya da yenilemiş olsanız bile notlarınız kaybolmaz.)
-
reducer.jsdosyasındaki localStorage ile ilgili fonksiyonları inceleyin ve yapmak istediğiniz eylemi bu fonksiyonları kullanarak nasıl yapabileceğinizi kurgulayın. gerekli fonksiyonları bulacaksınız, bunları inceleyin ve kullanın. kontrol edin ve eğer varsaredux store'unuzu bu verilerle başlatacak değişiklikleri yapın. -
Reducer içerisinde yaptığnız değişiklikler sonrasında localStorage içerisinde de aynı değişiklikleri yansıtmak için reducer fonksiyonunuza gerekli kodları ekleyin.
- En son eklenen notun en yukarıda görünmesi için neler yapılabilir? Düşünün ve uygulayın.
- Bu uygulamada kullanılabilecek başka tasarımlar arayın ve buna uygun olarak layoutı ve renkleri değiştirin.
- Uygulamaya yeni fonksiyonellikler eklemeye çalışın.