06.03. React Navigation: Parametre Aktarma

Bir sayfadan diğer sayfaya değer aktarmak için “this.props.navigation.navigate” metodu içine ek parametreler eklenebilir. Bu bölümde bu ek parametreleri eklemeyi ve eklenen değerlere diğer sayfadan ulaşmayı göreceğiz.

Home.js dosyasının render() metodunun return edilen değeri içine bir Button ekleyelim.

navigate metodu ‘Ekran3’ yönlendireceğiz. Bunun için AppNavigator.js dosyasında Home ve Ekran2 için yaptığımız benzer ayarları Ekran3 içinde yazalım. Yönlendirilecek sayfa ismi belirlendikten sonra {…} arasına parametre ismi ve değerlerimizi yazalım. Değer integer veya string bir türde olabilir. Şimdi sıra, Ekran3.js dosyasından değerlere ulaşmaya geldi.

“this.props” ifadesini tekrar tekrar yazmamak için const {navigation} değişkeni içine atıyoruz. navigation.getParam ile bir önceki sayfada değer atadığımız parametrelere ulaşıyoruz.

Javascript nesnesini string’e çeviren JSON.stringify metodu ile değerleri çeviriyoruz. Şimdi yeni bir itemID ile tekrar Ekran3 çağıralım. Bunun için bir Button’un onPress metodu içine yukarıdaki fonksiyonu yazıyoruz. Burada navigation stack’i üzerine ekleme yapmak için push metodunu kullanıyoruz. Math.random() fonksiyonu ile ondalık bir sayı üretip 100 ile çarpıp, 0 ile 100 arasında bir sayı elde ediyoruz. Math.floor komutu birçok dilde olduğu gibi ondalıklı kısmı atıp tamsayı değerini bırakıyor. Bu işlemden sonra istediğiniz kadar Ekran3’ü üst üste açabilirsiniz. Stack şeklinde çalıştığını için bir önceki ekrana dönüş yapabilirsiniz.