如何在 React Native 中为长时间运行的 android 本机任务显示进度条?

问题描述

我有一个 react native 应用程序,我正在使用一个 android native 模块来运行一个很长的任务。在执行此任务时,我想在执行此任务时在我的 React Native 屏幕中显示一个进度条。我该怎么做呢?我目前只能在长时间运行的任务结束后获得回调。

我希望能够展示有意义的进步。好像完成了 10%。不仅仅是加载微调器。

解决方法

这要求您的原生模块不断向 js 上下文发送进度,例如 5%、10% 等(查看 official docs 了解如何进行发送)。然后,订阅此事件,您可以使用实际百分比更新进度条。 我会使用 paper's progressBar

当然,如果你的任务是基于时间的,即你知道它会在 2 秒后完成,你可以在 js 端添加一个间隔并相应地更新进度条,即每 100 毫秒你可以进步 5% .