在传递大数据时,React堆栈导航转换的时间太长



我使用react naviagation在不同的屏幕之间导航,特别是堆栈导航器。我遇到了一些导航转换耗时过长的问题。这种延迟可能长达4-5秒。延迟的大小与我传递给navigate函数的数据的权重成正比。我曾尝试使用InteractionManager.runAfterInteractions函数来加速离线加载,但这并没有帮助,因为离线加载本身似乎需要处理传递的数据,只有在这之后它才会转换。

我在应用程序启动时就完成了所有的数据提取。因此,当我导航到另一个屏幕时,就不会再获取数据了。目前,我能想到的唯一解决方法是使用AsyncStorage,而不是在导航过程中传递它。有人有这个问题吗?如果是的话,你有没有设法解决它?

我最终将所有内容加载到redux,然后只从中读取,而不是通过导航包传递大量数据。作为另一种选择,我也可以使用AsyncStorage,但这将是滥用,因为AsyncStorage的操作是异步的,这意味着我需要await才能获得所需的数据。毕竟,这不是AsyncStorage的设计目的。另一方面,Redux的行动是同步的,这使得在这种特殊情况下的生活变得轻松,其主要目的是满足这种需求。

最新更新