首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grafana在里面用画布反应插件

Grafana在里面用画布反应插件
EN

Stack Overflow用户
提问于 2020-01-05 22:11:20
回答 1查看 341关注 0票数 0

我正试图用画布写一个grafana react插件。我用npx @grafana/toolkit plugin:create my-plugin创建了我的模板。我使用yarn installyarn dev --watch运行了这个模板。它起作用了。

为了进行测试,我在module.ts文件中删除了如下选项

代码语言:javascript
复制
import { PanelPlugin } from '@grafana/data';
import { SimplePanel } from './SimplePanel';

export const plugin = new PanelPlugin(SimplePanel);

我修改了SimplePanel.tsx文件如下

代码语言:javascript
复制
import React, { PureComponent } from 'react';
import { PanelProps } from '@grafana/data';

export class SimplePanel extends PureComponent<PanelProps> {
    componentDidMount() {
        console.log(this.refs.canvas)
        const ctx = this.refs.canvas.getContext('2d');
        console.log(ctx)
    }

    render() {
        return (
                <canvas ref="canvas" width={300} height={300}/>
        );
    }
}

我得到了以下错误:

属性'getContext‘在'ReactInstance’类型中不存在。

属性'getContext‘在类型'Component< any,{},any>’上不存在。

如何在grafana中添加画布,react插件?

谢谢你的回答。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 00:31:59

由于MateuszFalkowski的评论,我设法添加了一个画布:

代码语言:javascript
复制
import React, { PureComponent } from 'react';
import { PanelProps } from '@grafana/data';

export class SimplePanel extends PureComponent<PanelProps> {

    myCanvasRef = React.createRef<HTMLCanvasElement>()

    componentDidMount() {
        console.log(this.myCanvasRef)
        const ctx = this.myCanvasRef.current!.getContext('2d');
        console.log(ctx)
    }

    render() {
        return (
                <canvas ref={this.myCanvasRef} width={300} height={300}/>
        );
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59604655

复制
相关文章

相似问题

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