首页 > 解决方案 > 使用 navigation.goBack 关闭屏幕会延迟到我的繁重任务完成

问题描述

只有在关闭屏幕动画完成后,我才需要运行繁重的任务。

如文档中所述,InteractionManager.runAfterInteractions非常有助于让一些屏幕过渡动画在繁重的任务开始之前优先完成,从而获得非常流畅的用户体验。

但我需要相反,我需要在关闭特定屏幕后才运行非常繁重的任务。按下关闭按钮后,我希望结束动画完成,然后开始我的繁重任务。因为我不想延迟我的关闭屏幕转换。InteractionManager.runAfterInteractions 是实现这一目标的好选择吗?处理这种情况的正确方法是什么?

我只是调用一个 navigation.goBack 来关闭屏幕,如下所示:

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

标签: javascriptreactjsreact-nativereact-navigation

解决方案


如果当前屏幕是从您按下后退按钮的特定屏幕发送的,则将回调参数传递给 onPress 并调度事件。


推荐阅读