Метод runAfterInteractions
Метод runAfterInteractions класса
InteractionManager
принимает функцию или промис задачи.
Возвращает объект с методом cancel, который отменяет отложенный запуск.
Отмену удобно вызывать при размонтировании экрана.
Синтаксис
const handle = InteractionManager.runAfterInteractions(() => {});
handle.cancel();
Параметры
| Параметр | Описание |
|---|---|
task |
Функция или промис, который нужно выполнить после взаимодействий. |
Пример
Давайте отложим обновление подписи:
import { useEffect, useState } from 'react';
import { View, Text, InteractionManager } from 'react-native';
export default function App() {
const [label, setLabel] = useState('abcde');
useEffect(() => {
const handle = InteractionManager.runAfterInteractions(() => {
setLabel('12345');
});
return () => handle.cancel();
}, []);
return (
<View>
<Text>{label}</Text>
</View>
);
}
На экране сначала 'abcde', затем '12345' после завершения стартовых анимаций.
Пример
Давайте отменим задачу до её запуска:
import { InteractionManager } from 'react-native';
const handle = InteractionManager.runAfterInteractions(() => {
console.log('abcde');
});
handle.cancel();
В консоли не появится 'abcde', если отмена сработала раньше запуска.
Смотрите также
-
класс
InteractionManager,
который управляет очередью задач -
класс
AppState,
который сообщает, на экране приложение -
класс
LayoutAnimation,
который анимирует смену раскладки -
компонент
Pressable,
который обрабатывает нажатие