我正在创建一个简单的反应应用程序 (HTML),它允许用户浏览到他们本地 PC 上的图像,然后将其显示在图像标签中。我想获取一个 data-url 并动态创建一个隐藏的画布标签(以不同的方法打开,但我想调整图像的大小,而不是在显示图像的标签上设置大小限制)。这是我的调整大小代码
MyComponent.res(违规代码)
let resize = dataUrl => {
let canvas = React.createElement(_ => React.string("canvas"), {"style": "display: none;"})
canvas.getContext("2d");
dataUrl
}
错误
We've found a bug for you!
/Users/n0321437/projects/rescript-react/from-local-template/src/Upload.res:14:12-21
12 │ let canvas = React.createElement(_ => React.string("canvas"), {"sty
│ le": "display: none;"})
13 │ //let myCanvas = canvas([React.null])
14 │ canvas.getContext("2d");
15 │ dataUrl
16 │ }
找不到记录字段 getContext。
我没有找到太多关于使用 createElement 或 createElementVariadic 的文档或帖子——所以我在这里猜测。它看起来好像createElement
返回一个类型的对象,element
但没有关联的方法:
React.res
type element
external createElement: (component<'props>, 'props) => element = "createElement"
所以我想有几个问题
- 我是否实际上创建了一个代表 Canvas 的 HTML 对象的元素?
- 如果我这样做了,我该如何调用该代码上的方法?
- 如果我没有,如何创建隐藏的 Canvas 对象?
- 最后,一个人如何浏览文档和源代码以自己发现这一点?