是否可以在不同的线程中执行两个react-native上下文?

时间:2017-09-11 14:58:34

标签: ios react-native

我有一个用swift编写的原生应用程序,它在某些部分使用react-native。

我有一个第一个反应原生视图,它在滚动视图中显示项目,当我滚动这个滚动视图时,一些元素变得可见并被渲染。

我有另一个反应本机视图,每500毫秒左右执行一个事件循环,我需要它足够精确。

import Editor from './src/components/Editor';
import Playback from './src/components/Playback';

AppRegistry.registerComponent('Editor', () => Editor);
AppRegistry.registerComponent('Playback', () => Playback);

当我滚动第一个视图时,元素的渲染使第二个视图处理太慢。

所以我想知道第二个视图的javascript代码是否可以在另一个线程中执行,这样它就不会受到第一个视图的影响。

这可能吗?

2 个答案:

答案 0 :(得分:1)

您必须实例化一个新的bridge对象以创建一个新的JavaScript上下文(它位于专用线程中)。然后,您可以使用这些不同的桥对象来实例化RootView

答案 1 :(得分:0)

我实际上在本机端使用Timer.scheduledTimer,并且在将其添加到运行循环时我不得不更改模式,以便即使在处理滚动视图时它也会运行。所以我的问题实际上与本地setTimeout没有关联,抱歉!