Hata Çözüldü
Projede yaptığım işlemler asenkron olarak gerçekleştiği için useEffect state güncellemesi yapılmadan önce tamamlandığı için böyle bir hata ile karşılaşıyormuşum. İlk olarak bir processing adında state tanımladım. Daha sonra önce tamamlanmasını istediğim işlem gerçekleşirse processing state'imi true yaptım. En son da aşağıdaki gibi useEffect'ime processing bağımlılığını ekleyerek; processing güncellendikten sonra gerekli işlemlerimi tekrardan çalıştırdım.



Aldığım Hata
Geçmişte PHP ile geliştirdiğim blog projesini React altyapısıyla frontend'ini kodluyorum. Birkaç sayfayı yaptım fakat arama sayfasında takıldım. Öncelikle React'da yeniyim fakat şu ana kadar her şeyi istediğim gibi yapıyorum. Arama.jsx deki state'imi bir türlü düzgün bir şekilde setter ile güncelleyemedim.



Header.jsx Dosyası

Yukarıda header.jsx 'de kullanıcının arama yapabileceği bir form var. Arama.jsx sayfasına navigate ile (sayfa yenilenmeden) yönlendirme yapıyorum. Arama sayfam açıldığında url "http://localhost:3000/arama?q=deneme" şeklinde oluyor.



Arama.jsx Dosyası

Yönlendirme gerçekleştikten sonra useEffect yardımıyla işlemlerimi yapıyorum. Buradaki sorun şu ki örneğin anasayfadan arama işlemi yaptıktan sonra Arama.jsx de useEffect içerisindeki "setSearchedPosts(selectedItem)" işlemini yapmıyor. İşin ilginç yanı şu ki "selectedItem" console ettiğimde filtrelenmiş postları görebiliyorum. Yardımcı olabilecek varsa çok sevinirim.