0
私はReactのrender()
をCanvasに描画するいくつかの深いコンポーネントに対してバイパスしようとしていますが、依然としてReactを使用して小道具などを渡したいと思います。私はこのような子供たちのメソッドを呼び出す方法を理解できません。私が持っているものReactで子コンポーネントのメソッドを呼び出す
は基本的には次のとおりです。次に
<canvasRenderer state="active" mode={42}>
<itemFoo fill="red" stroke="black" />
<itemBar fill="blue" stroke="black" />
</canvasRenderer>
、canvasRenderer
以内に私がやりたい:この作業を行う方法について
constructor() {
requestAnimationFrame(this.drawFrame);
}
drawFrame =() => {
React.Children.forEach(children, (child) => {
child.drawFrame(); // does not exist
});
}
任意の提案ですか?
「child.drawFrame()」とは何ですか?あなたは 'componentDidMount'でそれを呼び出そうとしましたか? – goldylucks
@goldylucks - 'itemFoo'では' itemBar'は描画コードです。問題はループの 'child'はある種のReactコンテナオブジェクトであり、実際の要素への参照ではないので、' drawFrame'は存在しないということです。それはいつ呼び出されるかは関係ありません。 –