Отключение экрана с навигацией.Возврат отложен до завершения моей тяжелой задачи

#javascript #reactjs #react-native #react-navigation

#javascript #reactjs #реагировать-родной #реакция-навигация

Вопрос:

Мне нужно запустить тяжелую задачу только после завершения анимации экрана отключения.

Как описано в документации, InteractionManager.runAfterInteractions очень полезно предоставить некоторым анимациям перехода на экран приоритет для завершения перед началом выполнения тяжелой задачи, чтобы обеспечить очень плавный пользовательский интерфейс.

Но мне нужно обратное, мне нужно, чтобы очень тяжелая задача выполнялась только после того, как я отключу определенный экран. Как только нажата кнопка «Закрыть», я хочу, чтобы анимация закрытия завершилась, а затем началась моя тяжелая задача. Потому что я не хочу откладывать переход к закрытию экрана. Является ли InteractionManager.runAfterInteractions хорошим кандидатом для достижения этого? И как правильно справиться с такой ситуацией с ним?

Я просто вызываю navigation.GoBack для отключения экрана следующим образом:

 ...
const goBackAction = () => { navigation.goBack(null); };
headerOptions.headerLeft = () => <MyDismissButton onPress={goBackAction} />;
...
  

Ответ №1:

Передайте параметр обратного вызова в onPress и отправьте событие, если текущий экран отправляется с того конкретного экрана, с которого вы нажимаете кнопку «Назад».

Комментарии:

1. Спасибо за ответ, но я не предпочитаю перемещать логику, специфичную для моего экрана, куда-либо еще. Это был бы мой последний вариант.