React Native Yaşam Döngüsü – Lifecycle
React native ile uygulama geliştirmeden 3 farklı mounting işlemimiz bulunuyor ve mounting dediğimiz işlem componentlerin DOM’a yerleştirilmesidir yani ekranda gösterilmesi işlemidir.
Eğer mobil uygulama geliştirmeye biraz hakim iseniz android kısmında uygulama ilk çalıştığında , uygulama arka plana alındığında, uygulama sonlandırıldığında gibi methodlar vardı , react native kısmında ise bahsedeceğim methodlarda oradaki methodlara benzer özellikler gösteriyor ancak burada sadece component yani sayfa bazlı işlemler için gerçekleşecek methodlardır.
constructor
başlangıç statelerini tanımlamak için kullanılır yani sayfa çağırıldığında ilk çalışacak nesnedir,
constructor(props){ super(props) this.state={ stateDegeri:null, } }
componentWillMount
Component ekrana yerleştirilmeden hemen önce çalışan yerdir burası render dan öncede çalışır dolayısıyla burada bir state set etmek doğru değildir çünkü setState methodu her çağırıldığında render yeniden çalışır dolayısıyla render çalışmadan yeniden render et demiş oluruz böylece mantık dışı bir işlem gerçekleşmiş olacaktır.
render
render sizin ekranda yer almasını istediğiniz tüm componentlerin yer aldığı methodtur , bu yazıda belirttiğimiz methodlardan hiç biri olmadan sayfa çalışır ancak render olmadan çalışmaz örnek bir kullanım ile açıklarsak ;
render(){ return( <View></View> ) }
componentDidMount
render methodu çalışır ekrana componentler mount edilir ve sonrasında bu method çalışır yani ekranda gösterilmesini istediğiniz componentleri yerleştirdikten sonra bu methodu çalıştırırız ve verileri yerleştiririz yani kullanıcının adını soyadını sunucudan çekerek ekrana yazdırmak istiyorsak fetch işlemini bu method ta gerçekleştiririz.
componentWillUpdate
Bu method sayfada her değişim olduğunda çalışacak method tur ancak render çalışmadan önce işlevlerini gerçekleştirir sayfa ilk yüklendiğinde çalışmaz ancak sayfa içerisinde her setState gerçekleştiğinde yada her props geldiğinde çalışır , bu methodta setState kullanmak çok doğru değildir çünkü sınırsız bir döngüye sokmuş oluruz. Yani set işlemi gerçekleşecek çalışacak çalıştığı için set gerçekleşecek .
Bu methodta ne gibi işlem gerçekleştirebiliriz ? bir set işlemi gerçekleştiğinde bu gerçekleşen set işlemi kullandığımız limitleri aşıyorsa navigate etmek için kullanılabilir.
componentDidUpdate
Bu methodun componentWillUpdate ten tek farkı render dan sonra gerçekleşiyor olması geri kalan herşey componentWillUpdate ile aynı .
componentWillUnmount
bu method component sonlandırılmadan hemen önce gerçekleşecek işlemlerin yer alacağı yerdir burada sunucu bağlantılarının sonlandırılması , cachelerin temizlenmesi gibi işlemler gerçekleştirilir
componentDidCatch(error, info)
JS ile ilgili oluşabilecek hatalar neticesinde çalışacak methodtur , yani yazılımınızda bi error oluşursa bu method çalışır.