Reactjs 在React Native中为网络请求使用线程值得吗?

Reactjs 在React Native中为网络请求使用线程值得吗?,reactjs,react-native,Reactjs,React Native,我正在开发一个应用程序,在屏幕上定期通过局域网和一些云提供商发出大量请求。我担心用户体验,不希望屏幕在更新之间出现延迟 应用程序使用redux来保持状态,我已经大量使用InteractionManager和debounce/throttle调用来避免挂起Javascript线程的请求。我想,如果按照惯例,我将所有这些请求转移到一个单独的线程/工作线程,事情就会简单得多。我做了什么错误的假设?在React Native中为网络请求使用线程值得吗 谢谢网络请求 您可以像往常一样从JavaScript

我正在开发一个应用程序,在屏幕上定期通过局域网和一些云提供商发出大量请求。我担心用户体验,不希望屏幕在更新之间出现延迟

应用程序使用redux来保持状态,我已经大量使用
InteractionManager
和debounce/throttle调用来避免挂起Javascript线程的请求。我想,如果按照惯例,我将所有这些请求转移到一个单独的线程/工作线程,事情就会简单得多。我做了什么错误的假设?在React Native中为网络请求使用线程值得吗

谢谢

网络请求 您可以像往常一样从JavaScript发出请求,例如使用

您的网络请求不会阻止UI。React Native将使用后台本机(Java/Obj-C)线程执行网络请求。只有一个JavaScript线程可以运行所有JS代码,React Native不支持web工作人员

如果您想了解React Native的体系结构,可以观看

更新用户界面 在这里最简单的方法可能是发送更少的请求,更少的频率。如果您确实需要发送许多请求,请尝试至少像您所说的那样限制UI更新


如果这对您没有帮助,您还可以查看,其中一些(例如,
PureComponent
)适用于React-Native。

有趣的是,您说React-Native在内部运行不同线程中的所有请求?但在那之后你还说只有一个javascript线程,所以我有点困惑。我知道React Native不支持web workers,但您可以添加包和本机代码来解决这个问题。有一个JavaScript线程(所有JavaScript代码都在其中运行)和多个本机线程(Java、Obj-C),您在编写JS代码时通常不必担心这些线程。您可以观看此演讲或阅读RN架构: