gpt4 book ai didi

javascript - 从页面 JS 访问 React 对象?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:50 25 4
gpt4 key购买 nike

我有一个 ReactVr 对象,我用下面的代码渲染它。 React 初始化后,我会定期接收服务器更新,我想将其作为 Prop 传递给 React,我该怎么做?可以从我的“普通”JS 设置 React 对象中的 Prop 吗?

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 连接进行的,但是从 React 内部没有收到消息,只有在“正常”的 JS 中。

在“普通”JS 中,这会从服务器返回数据,如果我在 React 中使用相同的数据,连接会打开,但永远不会收到消息。然而,消息可以从 React 内部发送。

socket.addEventListener('message', function (event) {

console.log('Message from server ', event.data);

});

最佳答案

您应该能够创建 native 模块来促进此功能。

在此处查看相关文档:https://facebook.github.io/react-vr/docs/native-modules.html

一旦您创建了模块并将其链接到 client.js 中,您就可以将其导入到组件中并将其用作 React vr 和套接字实现之间的通信层。

为此,在 client.jsinit 函数中添加

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();

关于javascript - 从页面 JS 访问 React 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47656179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com