2016-09-09 6 views
0

リアクタキャンバスコンポーネントのwebglcontextlostイベントハンドラをどのように定義できますか?リバースキャンバスwebglcontextlost

class CanvasComponent extends React.Component { 
    componentDidMount() { 
     const canvasDOMNode = this.refs.canvas.getDOMNode(); 
     DrawModule.draw(this.props.drawData, canvasDOMNode); 
    } 

    render() { 
     return (
      <canvas id="canvas" ref="canvas" /> 
     ); 
    } 
} 

私はonWebglcontextlostおよびその他のキャメルケースの組み合わせも、<canvas webglcontextlost={ function() { doSomething(); }} />を試してみましたが、私はそれらのすべてのためのUnknown propエラーが発生します。

私が働いている唯一の方法はcanvasDOMNode.addEventListener("webglcontextlost")ですが、私はリアクション方法を好むでしょう。

注:TypeScriptを使用していますが、このプロパティがReact.d.tsのDefinitelyTypedに存在しないことに気付きました。基本的には

答えて

1

はまだあなたが指定した属性を認識しない反応します。これはReactの将来のバージョンで修正される可能性があります。しかし、Reactは未知の属性をすべて取り除いているので、Reactアプリでそれらを指定しても、それらはレンダリングされません。

投稿者:https://facebook.github.io/react/warnings/unknown-prop.html。この時点で理解できる反応ではありません。回避策としてマニュアルaddEventListenerを追加する方がよいでしょう。