0.18 sürümünde bir React Native uygulamasına sahibim ve Android için geri düğmesi işlevselliğini uygulamaya çalışıyorum. Benim index.android.js
aşağıdaki kodu vardır:BackAndroid hardwareBackPress dinleyicisi, başlangıç rotasına dönüldükten sonra çalışmayı durdurur
let navigator;
BackAndroid.addEventListener('hardwareBackPress',() => {
if (navigator && navigator.getCurrentRoutes().length > 1) {
navigator.pop();
return true;
}
return false;
});
Ve de benim işlemek:
<Navigator
ref={(nav) => { navigator = nav; }}
...
Ben ileriye yollarının herhangi bir sayıda giderseniz geri düğmesi çalışıyor ve ben o zaman herhangi bir sayıda geri gidebilir başlangıç rotasına giden yollar. Ancak, başlangıç rotasına geri döndükten sonra, JS'yi yeniden yükleyene veya uygulamayı yeniden başlatana kadar arka düğme çalışmayı durdurur.
Bunu başka biriyle karşılaştı mı ve çözüm nedir?
Düzenleme: Ben 0.21, 0.22 ve 0.23-rc3 üzerinde test ettik ve hala bu sürümü en son sürümde yaşıyorum.
Çok benzer bir kod parçam var ve bu kodla, başlangıç düğmesi ilk uygulamada tüm uygulamadan çıkar. Amaç bu muydu? – zvona
Biraz. Uygulamayı başlatırsam, hemen geri düğmesini tıklarsanız uygulamadan çıkar. Ancak, uygulamayı başlatırsam, herhangi bir rotaya gidersiniz, ardından geri düğmesini tıklar, tekrar geri düğmesini tıklarsanız uygulamadan çıkmaz ve tekrar başka bir rotaya geçersem, geri düğmesini tıklamak beni geri almayacaktır İlk rotayı da olması gerektiği gibi. – NeuroXc
Esasen, dinleyiciye, ilk rotaya geri döndükten sonra dinlemeyi kesmesi gibi. İşleyiciye bir konsol.log koyarsam, ilk rotaya geri döndükten sonra geri tıkladığınızda da tetiklenmez. – NeuroXc