Geçenlerde eski dosyalarımı karıştırırken 2016'da yazdığım bir jQuery kodu buldum. Bir butona tıklayınca bir div'i gizleyip göstermek için yazdığım 50 satırlık kodu görünce, "yuh be, o günlerden bu günlere..." diye mırıldandım. O zamanlar her şeyi elimle yapıyordum - DOM'la uğraşmak, state'i takip etmek, event'leri yönetmek... Hepsi ayrı bir maceraydı.
React'ı ilk duyduğumda itiraf edeyim, biraz burun kıvırdım. "Virtual DOM da neyin nesi?" diye düşündüm. Ama merak, beni küçük bir projede denemeye itti. İlk functional component'imi yazdığımda hissettiklerimi tarif etmem zor. Sanki daha önce taşlarla oynuyormuşum da, birisi bana legoların büyüklerini vermiş gibiydi.
Sonra fark ettim ki React, sadece kod yazma şeklimi değiştirmiyor, düşünme şeklimi de değiştiriyor. Artık "şu olunca şu olsun" demek yerine, "bu nasıl bir şey olsun" diye düşünmeye başladım. Bu değişim, her şeyi alt üst etti.
İlk büyük projemde karmaşık bir form yapmam gerekti. Eskiden olsa her input değiştiğinde her şeyi tek tek güncellerdim. React'ta ise state'i değiştirdim, gerisini o halleder sandım. Meğer o kadar da kolay değilmiş! İlk zamanlar state'leri nereye koyacağımı şaşırdığım anlar oldu. "Acaba bu state burada mı dursa, yoksa şurada mı?" diye düşünmekten kafayı yediğim günleri unutamam.
Şimdi portfolyo siteme bakıyorum da, her şey component olmuş. Header, menü, proje kartları... Hepsi ayrı ayrı duruyor. Yeni bir proje eklemek için yeni bir component yapıyorum ama bazen "Acaba bunu daha mı iyi yapsam?" diye saatlerce düşündüğüm oluyor.
Geçenlerde bir müşteri sitesinde, aynı modal'ı farklı yerlerde kullanmamız gerekti. "Harika!" dedim, "React işte!" Ama sonra modal'ın her yerde aynı görünmesi gerektiğini fark ettim. Style'ları birleştirmek, prop'ları ayarlamak... Bazen React'la dans etmek, sandığımdan daha karmaşık olabiliyor.
React zamanla bana şunu öğretti: Ne kadar çok bilirsem, o kadar az bildiğimi fark ediyorum. Her öğrendiğim yeni özellik, aslında bilmediğim daha neler olduğunu gösteriyor.
React 18 ve yeni özelliklerle daha hızlı uygulamalar yapabiliyoruz ama bazen eski alışkanlıklarımız bizi yakalıyor. "Acaba bunu eskisi gibi mi yapsam?" diye düşünmekten kendimi alamadığım anlar oluyor.
Bazen yeni framework'lere bakıyorum, hepsinin ilginç yanları var. Ama sonra dönüp React'a bakıyorum, hala beni şaşırtmaya devam ediyor. Sanırım aralarında bir dostluk oluştu. Bazen onu anlamakta zorlansam da, sonunda hep beraber güzel işler çıkarıyoruz.
Kim bilir, belki bir gün başka bir framework beni daha çok heyecanlandırır. Ama şimdilik React'la yolumuz beraber devam ediyor. Tıpkı eski bir dost gibi - bazen canımızı sıksa da, vazgeçemiyoruz.