reactjs - KonvaJS 如何处理画布上的绘图
问题描述
我真的很喜欢 Konva 语法
<Shape>
<Layer>
<Circle />
</Layer>
</Shape>
但是源代码让我感到困惑。我理解的方式<Circle />
实际上并没有在其渲染中返回 DOM 元素。相反,它在其上方定义的 Canvas 上绘制。
它实际上是如何做到这一点的。有人可以指出我的代码
解决方案
Konva
是一个 javascript 框架,允许您以面向对象的方式绘制到画布中。概述:https ://konvajs.github.io/docs/
您可以将其视为“画布的 DOM(文档对象模型)”。因此,您无需手动绘制到画布中。你只是改变形状。
该对象模型不是浏览器的 DOM(如document.body
,divs
和其他元素)。它只是普通的 javascript 对象。
react
管理应用程序的 DOM(所有元素)也是如此。所以我认为从 React 中管理 Konva 形状也是一个好主意(因为它与 DOM 思维方式太相似了)。所以我创建了react-konva
https://konvajs.github.io/docs/react/。
react-konva
react
是和之间的桥梁konva
。
所以当你这样做时
<Layer>
<Circle />
</Layer>
它不会创建 DOM 元素,而是创建Konva
节点。从那个节点Konva
开始绘制。
推荐阅读
- python - 如何更改矩阵的字符?(没有 Numpy)
- python-3.x - 迭代 DF 以制作绘图
- node.js - TypeError:无法使用 React 在使用本地 IP 的移动设备上读取未定义的属性“getUserMedia”
- angular - 以角度设置 TinyMCE 编辑器页面大小插件的值
- ios - 在 SwiftUI 中将数组与 Identifiable 一致
- php - 从时间戳转换为日期时,Laravel 显示错误的日期:Y/n/j
- python - 如何使用 AddMultiplicationEquality 添加约束?
- visual-studio-code - 远程 SSH 连接失败
- node.js - 如何在 Bigcommerce 结帐页面中创建文件上传表单并将其链接到订单 ID?
- python - 在 VS Code 中调试 Python 时如何自定义对象的字符串表示