2017-01-09 116 views
1

我對團結有點新,這是我第一次在這裏創建一個線程,所以也許我問一個愚蠢的問題。Reactjs結合統一webgl導致錯誤

我正在創建一個使用反應的網站,這個網站的一部分有一個使用統一的遊戲。 我遇到的問題是,我正在使用這個web應用程序的反應,當統一通過反應重新加載時導致錯誤。

通常,unityloader只會被unityloader.js文件加載一次。但是我有辦法我的每一個反應過來的時候應用程序設置一定的反應compent被載入這段代碼將導致統一加載

componentWillMount() { 
     const script = document.createElement("script"); 
     script.src = "Release/UnityLoader.js"; 
     script.async = true; 
     document.body.appendChild(script); 
    } 

我第一次做這個加載一切正常,但是當我再次訪問該頁面包含這unitywebgl compenent,統一崩潰,我得到以下錯誤。

Uncaught TypeError: Cannot read property 'apply' of undefined 
    at Object.dynCall (blob:http://localhost:8000/11f3d503-5e8a-473e-851f-2373f9cb5de6:1) 
    at Object.handlerFunc (blob:http://localhost:8000/11f3d503-5e8a-473e-851f-2373f9cb5de6:1) 
    at jsEventHandler (blob:http://localhost:8000/11f3d503-5e8a-473e-851f-2373f9cb5de6:1) 

也許我做錯了什麼,我用一些奇怪的方式來初始化團結。然而,這個Web應用程序經常初始化並重新加載統一是很重要的。 unityloader.js中可能有一些函數會給它一個畫布並手動要求它重新加載,還是我的方向不對?

回答

1

我做了一個用於在您的ReactJS應用程序中添加Unity內容。基本的實現可能看起來像這樣;

import React from 'react'; 
import Unity from 'react-unity-webgl'; 

export class App extends React.Component { 
    render() { 
     return <Unity 
      src='Build/myGame.json' 
      loader='Build/UnityLoader.js' /> 
    } 
}