2017-07-07 10 views
1

私は反応型アプリケーションのドキュメントにアクセスしようとしています。アプリはreact-vr-cliを使用して作成されました。しかし、ページにアクセスしようとすると、次のエラーが発生します。ReactVr - ドキュメントが定義されていません

document is not defined 
+0

これは奇妙です。あなたはどこかにあなたのpojectを投稿できますか? –

+0

ご返信が遅れました。私は何が間違っているか分かった。ドキュメントは自己呼び出し関数にあり、何らかの理由で関数のスコープがウィンドウではなく、そのDedicatedWorkerGlobalScopeでした。 –

+0

こんにちは、私は再びチェックし、問題は自己起動機能ではありませんでした。スクリプトをインポートすると、スクリプトはウィンドウの代わりにDedicatedWorkerGlobalScopeで実行されます。 –

答えて

2

ザ・VRがインスタンスを反応させるのは、ウェブワーカー内で実行あなたがDedicatedWorkerGlobalScope代わりのwindowを取得している理由です、なぜグローバルなdocumentはありません。

これはReact VRの動作の仕組みで、postMessage経由でVRインスタンスとの通信を担当するreact-vr-webパッケージがある理由です。

ウェブワーカーは、残念ながらグローバルスコープのブラウザに存在する機能のサブセットにしかアクセスできません。 リアクタVRの回避策は、localStorageの代わりにAsyncStorageのようなものがあります。他のすべてのものについては、postMessageとリスナーのonmessageを介してWebワーカーの外でコミュニケーションする方法を理解する必要があります。

windowからVRインスタンスに送信するもう1つの方法は、2つの間のブリッジとしてネイティブモジュールを実装することです。詳細は Persistent bridge between a React VR component and native module codeです。

関連する問題