如何使用 ReactJS 将 div 转换为画布?

Posted

技术标签:

【中文标题】如何使用 ReactJS 将 div 转换为画布?【英文标题】:How to convert a div to a canvas using ReactJS? 【发布时间】:2014-04-14 04:13:45 【问题描述】:

xCharts JS 使用一些 CSS 类,一旦解释了 javascript,这些类就会转换为 html 5 画布。

我想知道 ReactJS 是否知道如何处理这种类型的组件?

当我在 render 方法中编写包含用于画布转换的类的 <div> 时,React 返回一个 <div> 而不是包含图表的画布。

代码如下:

render: function()
  if (!this.state.data) 
    return <div>Loading...</div>;
  
  return(
    <div className="col-lg-3 col-sm-6 col-xs-6 col-xxs-12">
      <div className="smallstat box">
        <div className="boxchart-overlay red">
       <!-- the div underneath should convert to a canvas --> 
      <div classname="boxchart">5,6,7,2,0,4,2,4,8,2,3,3,2</div>

        </div>  
        <span className="title">Transactions</span>
        <span className="value">this.state.data.globalPNL</span>
      </div>
    </div>
  );

这是 &lt;div&gt; 的预期结果

<canvas class="flot-overlay" 
   style="direction: ltr; position: absolute; left: 0px; top: 0px; width: 619px; height: 300px;" 
    >
</canvas>

我错过了什么吗?

【问题讨论】:

【参考方案1】:

根据xChart docs需要调用初始化图表:

var myChart = new xChart('bar', data, '#myChart');

如果您已经这样做了,您是否验证了元素在图表初始化时存在于 DOM 中?您可以尝试在componentDidUpdate中初始化图表

【讨论】:

以上是关于如何使用 ReactJS 将 div 转换为画布?的主要内容,如果未能解决你的问题,请参考以下文章

将 div 中的 amazon s3 图像转换为画布时出现跨源问题

使用参数将“Const”ReactJs 组件转换为基于类

将Google Map DIV转换为图像

如何在 ReactJS 中将带有属性的 CSS 转换为 MaterialUI 样式

reactjs - 如何隐藏一个div并将其替换为reactjs中的另一个div?

如何将 html 画布转换为图像,然后将该画布绘制到画布上