传递大数据时,React堆栈导航过渡的时间过长

时间:2019-11-12 10:25:37

标签: react-native react-navigation delay transition

我正在使用react naviagation在不同屏幕之间进行导航,尤其是堆栈导航器。我在某些导航过渡上花费的时间太长了。此延迟可能长达4-5秒。延迟的大小与我传递给navigate函数的数据的权重成正比。我尝试使用InteractionManager.runAfterInteractions函数来加速脱机加载,但这并没有帮助,因为脱机加载本身似乎需要处理传递的数据,并且只有在过渡之后才进行处理。

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

1 个答案:

答案 0 :(得分:0)

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