首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在react-konva中分配ref

在react-konva中分配ref
EN

Stack Overflow用户
提问于 2021-10-21 01:37:47
回答 1查看 60关注 0票数 0

我们如何将ref赋给stage或layer对象。我正在使用react-konva。当我执行console.log(stageE1)时,它显示未定义。

代码语言:javascript
复制
  useEffect(() => {
    var stage = new Konva.Stage({
      container: 'stage',
      width: window.innerWidth,
      height: window.innerHeight,
      ref: stageEl, // not working
      onMouseDown: (e) => {
        // deselect when clicked on empty area
        const clickedOnEmpty = e.target === e.target.getStage()
        if (clickedOnEmpty) {
          selectShape(null)
        }
      },
    })
    stage.container().style.border = '1px solid grey'
    var layer = new Konva.Layer({
      ref: layerEl, // not working
    })
    stage.add(layer)
  }, [])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-21 14:21:37

这不是react-konva使用率。您正在直接使用Konva API。如果你这样做,你可能不需要使用refs。但如果你真的想:

代码语言:javascript
复制
var layer = new Konva.Layer();
// set ref
layerEl.current = layer;

如果你使用react-konva,那么你应该以React的方式定义组件:

代码语言:javascript
复制
import { Stage, Layer } from 'react-konva';


const App = () => {
  const layerEl = React.useRef();
  return <Stage><Layer ref={layerEl} /></Stage>;
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69654851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档