2015-04-14 15 views
9

Bir uygulamayı test etmek için React-Native uygulamasına aktarma üzerinde çalışıyorum. Navigator yığında bir önceki görünüme geri döndüğümde (arka tuşa bas) bazı kodları çalıştırmak istiyorum. ViewWillAppear yöntemi var mı? Navigator üzerinde, doğru bir şey olabileceğine benzeyen bir "onDidFocus()" geri çağrısı var .. ama NavigatorIOSNavigatorIOS - Bir viewDidAppear veya viewWillAppear eşdeğeri var mı?

+0

NavigatorIOS, sanırım Navigator ile aynı yöntemlere sahiptir. –

+1

Kuyu viewDidAppear örneğin iOS'ta navigator'da bir yöntem değil, görüntülendiğinde viewController'daki bir yöntemdir. Artı Ben sadece Facebook facebook için ortaya çıkarmak için tercih yöntemleri sadece nessasarily değil, kullanılabilir olduğunu düşünüyorum. Ama belki de yardımcı olacak bir tane var, ben sadece farkında değilsinizdir – Daniel

+0

Ben size "Navigator üzerinde bir" onDidFocus() "diyerek sana atıfta bulunmaktaydım .. ama NavigatorIOS üzerinde böyle bir şey görünmüyor" –

cevap

-1

'da bunun gibi bir şey görünmüyor. iOS'taki: viewWillDisappear - onLeftButtonPress sol tarafta geri düğmesini özel ayarlamak ya etrafında https://github.com/facebook/react-native/issues/26

uyarınca almak için yol kod çalıştırmasına veya uygulamaya geri ele için.

+0

Ayrıca geri kaydırma ile geri gidebilirsiniz –

12

Ben UIKit içinde
viewDidAppear ve viewDidDisappear simüle etmek için bir yol bulmak ama bu bir "doğru" yolu olup olmadığından emin değilim. Çıkışta bazı kodlar çalışacaktır Eğer ComponentWillUnmount kullanabilirsiniz görünümü gidiyorsan

componentDidMount: function() { 
    // your code here 

    var currentRoute = this.props.navigator.navigationContext.currentRoute; 
    this.props.navigator.navigationContext.addListener('didfocus', (event) => { 
     //didfocus emit in componentDidMount 
     if (currentRoute === event.data.route) { 
      console.log("me didAppear"); 
     } else { 
      console.log("me didDisappear, other didAppear"); 
     } 
     console.log(event.data.route); 
    }); 
}, 
+1

Bu harika çalışıyor, teşekkür ederim –

-3

Sen ComponentWillMount kullanabilir veya.