如何在ReactJs中使用Konva节点

时间:2018-10-29 08:37:00

标签: reactjs html5-canvas konvajs konvajs-reactjs

我想在react应用程序中使用konva.js节点嵌套。我需要有关如何使用它的帮助。 预先感谢。

1 个答案:

答案 0 :(得分:0)

我建议您使用react-konvahttps://github.com/konvajs/react-konva

带有可拖动圆圈的示例:

import React, { Component } from 'react';
import Konva from 'konva';
import { render } from 'react-dom';
import { Stage, Layer, Circle, Text } from 'react-konva';

class App extends Component {
  handleDragStart = e => {
    e.target.setAttrs({
      scaleX: 1.3,
      scaleY: 1.3
    });
  };
  handleDragEnd = e => {
    e.target.to({
      duration: 0.5,
      scaleX: 1,
      scaleY: 1
    });
  };
  render() {
    return (
      <Stage width={window.innerWidth} height={window.innerHeight}>
        <Layer>
          <Text text="You can drag a circle" />
          {[...Array(10)].map(i => (
            <Circle 
              key={i}
              x={Math.random() * window.innerWidth}
              y={Math.random() * window.innerHeight}
              radius={20}
              fill="green"
              opacity={0.8}
              draggable
              onDragStart={this.handleDragStart}
              onDragEnd={this.handleDragEnd}
            />
          ))}
        </Layer>
      </Stage>
    );
  }
}

render(<App />, document.getElementById('root'));

您需要添加reactkonvareact-domreact-konva依赖项