Класс EmitterSubscription
Объект EmitterSubscription возвращают методы
addEventListener у классов вроде
AppState
и Linking.
Метод remove
отключает обработчик и освобождает подписку.
Синтаксис
const sub = AppState.addEventListener('change', handler);
sub.remove();
Методы
| Метод | Описание |
|---|---|
remove |
Снимает подписку на событие. |
Пример
Давайте подпишемся на смену состояния приложения и сразу отпишемся:
import { AppState } from 'react-native';
const sub = AppState.addEventListener('change', () => {});
sub.remove();
После вызова remove обработчик больше не вызывается.
Пример
Давайте отпишемся при размонтировании компонента:
import { useEffect } from 'react';
import { View, Text, AppState } from 'react-native';
export default function App() {
useEffect(() => {
const sub = AppState.addEventListener('change', () => {});
return () => sub.remove();
}, []);
return (
<View>
<Text>abcde</Text>
</View>
);
}
На экране текст 'abcde', подписка снимается при уходе с экрана.
Смотрите также
-
класс
AppState,
который сообщает, на экране приложение или свернуто -
метод
addEventListener,
который возвращаетEmitterSubscription -
класс
Linking,
который принимает входящие ссылки -
класс
AppRegistry,
который регистрирует корневой компонент