1 回答
TA贡献1942条经验 获得超3个赞
你KonvaDrawer
只是一个直接创建 Konva 节点的函数。它不能用作 React 组件 ( https://reactjs.org/tutorial/tutorial.html#overview )
所以 react 组件不会直接创建元素(如 Konva 节点或 DOM 元素)。他们只是定义页面(或画布元素)应该如何看待最后。
如果您想使用 for-loop 或其他方式创建元素,您只需要定义应用程序的“状态”以及从该状态生成的组件。
const App = () => {
const [circle, setCircles] = React.useState([{x: 10, y: 10}, {x: 100, y: 100}]);
return (
<Stage width={window.innerWidth} height={window.innerHeight}>
<Layer>
{circles.map(circle => (
<Circle x={circle.x}
y={circle.y}
radius={70}
fill={'red'}
stroke={'black'}
strokeWidth={4}
/>
))}
</Layer>
</Stage>
);
}
添加回答
举报