访问React对象从页面js内部



我有一个reactvr对象,我正在使用下面的代码进行渲染。初始化React后,我会定期接收我想将其转入React作为道具的服务器更新,该如何执行此操作?可以从我的"正常" JS设置React对象中的道具?

ReactVR.init(
    './build/index.bundle.js',
    document.body,
    // third argument is a map of initialization options
    {
      initialProps: {
        source: 'world.json',
         userType: "typ1"
        },
      cursorVisibility: 'visible'
    }
  );

编辑:服务器更新是通过WebSockets连接到达的,但是从内部进行了消息,仅收到消息,仅在"正常"JS。

在"正常" JS中,此将返回服务器的数据,如果我在React中使用相同的连接,则打开了连接,但从未收到消息。但是,可以从React内部发送消息。

socket.addEventListener('message', function (event) {
        console.log('Message from server ', event.data);
  });

您应该能够创建一个本机模块以促进此功能。

在此处查看围绕此的文档:https://facebook.github.io/reaect-vr/docs/native-modules.html

创建了模块并将其链接到客户端。

client.js中的init函数中执行此操作。

const socketsModule = new SocketsModule();

然后在新的导入中或在该文件本身中可以添加:

export class SocketsModule extends Module {
  constructor() {
    super('SocketsModule');
  }
  init() {
  }
  customMethod() {
    // Do fun stuff here
  }
}

然后在您的React VR组件中您希望调用这些方法,您首先包括此新模块:

const SocketsModule= NativeModules.SocketsModule;

然后您可以从该组件中访问其方法:

SocketsModule.customMethod();

相关内容

  • 没有找到相关文章

最新更新