Bildirim olayları
- React Native kursu
- İleri seviye
- Ders 5/83
- 5 dk
Bildirim tıklama ve olaylarını öğrenirsin.
Bildirim olayları
Bildirim geldiğinde veya kullanıcı bildirime dokunduğunda uygulaman olay alır. Notifications.addNotificationReceivedListener bildirim uygulama açıkken geldiğinde çağrılır. Notifications.addNotificationResponseReceivedListener ise kullanıcı bildirime dokunduğunda çağrılır.
Bu dinleyiciler useEffect içinde kurulur ve bileşen kapanınca kaldırılır. Her dinleyici bir işlev alır; bu işlev bildirim veya yanıt nesnesini parametre olarak alır. Yanıt nesnesinin notification.request.content.data özelliği bildirime eklenen serbest veriyi taşır.
useEffect ve temizlik
Dinleyicileri useEffect içinde kurarsın. Bu hook, bileşen ekrana geldiğinde bir kez çağrılır. İçinde dinleyicileri ekler, dışında da bir temizlik işlevi döndürürsün. Temizlik işlevi bileşen kapanınca dinleyicileri kaldırır; böylece aynı bildirime iki kez yanıt verilmez.
Örnek kalıp: useEffect(() => {{ const sub = Notifications.addNotificationReceivedListener(handle); return () => sub.remove(); }}, []). Boş bağımlılık dizisi [] bu hook'un yalnızca bir kez çağrılmasını sağlar. sub.remove() dinleyiciyi temizler.
Uygulama Dinleyicileri kur
Boş useEffect'i tamamla. Notifications.addNotificationReceivedListener ile bir dinleyici kur; işlev notification.request.content.data'yı console.log ile yazsın. Dinleyiciyi const sub = ... değişkenine ata. return () => sub.remove(); ile temizle. Bağımlılık dizisi [] olsun.
Başlangıç kodu
import React from 'react';
import * as Notifications from 'expo-notifications';
export function useNotification() {
React.useEffect(() => {
// dinleyiciyi kur ve temizlik döndür
}, []);
}Örnek çözüm
const sub = Notifications.addNotificationReceivedListener((notification) => {
console.log(notification.request.content.data);
});
return () => sub.remove();Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dinleyici işlevini yaz
Notifications.addNotification____Listener((notification) => { console.log(notification); });
Notifications.addNotificationReceivedListener((notification) => { console.log(notification); });
Açıklama: Received bildirim geldiğinde çağrılır.
2 Olayı rolüne eşle
| Kavram | Anlamı |
|---|---|
received |
Bildirim geldiğinde |
response |
Kullanıcı dokunduğunda |
useEffect |
Kurulum yeri |
sub.remove() |
Temizlik |
3 response dinleyicisi ne zaman çağrılır?
- Kullanıcı bildirime dokunduğunda Doğru cevap
- Uygulama kapandığında
- Bildirim cihaza ilk ulaştığında
- Yalnızca uygulama açılırken
Açıklama: response dinleyicisi kullanıcı dokunduğunda çağrılır.