私は、ビデオのサムネイルを作成し、それをHTMLCanvasElement
として返すユーティリティを持っています。Reactに `HTMLCanvasElement`をレンダリングするには?
render() {
return (
<div className='video-thumbnail'>
{this.props.videoThumbnailCanvas}
</div>
);
}
をしかし、私は、私はエラーを取得し、ことをしようとすることを:私はそうのように、リアクトでその要素をレンダリングしたい
Error: Objects are not valid as a React child (found: [object HTMLCanvasElement]).
これを行うには良い方法は何ですか? 1つのアイデアはcomponentDidMount
(例えばReact.getDOMNode(this).appendChild(this.props.videoThumbnailCanvas)
)から直接的なDOM操作を行うことですが、それはむしろハックのようです。
ユーティリティ機能を制御していますか?代わりに '' JSX要素を返してもらえますか? –
@DannyDelott - 私はそれを制御します。現在、次のようになります。 ' function getThumb(){ let canvas:HTMLCanvasElement = document.createElement(' canvas '); letコンテキスト= canvas.getContext( '2d'); if(context){ context.drawImage(videoElement、0、0、w、h); } リターンキャンバス; } ' JSX要素で 'context'をどのように描画するのかよくわかりません。 – allenrabinovich
私はあなたの 'getThumb()'で 'document.creteElement'を使うことはできないと信じています。 – Muhaimin