javascript - 无法呈现两个相同的 React 组件,特别是 react-google-chart

标签 javascript reactjs charts google-visualization

我可以毫不费力地让 React google chart 渲染单个图表。但是,当我尝试添加不同图表类型的第二个图表时,它无法呈现它。这是因为它认为第二种图表类型与第一种图表类型完全一样。这是问题的一个简单示例。

render() {
    return (
        <div>
            <div className="forcastingChart">
                <Chart id="chart1" chartType="ColumnChart" data={this.state.data} width="100%" options={this.state.options}></Chart>
            </div>
            <div className="GanttChart">
                <Chart id="chart2" chartType = "Gantt" columns={this.state.columns} rows={this.state.rows} chartPackages={['gantt']}
                  width="100%" height="9999px"></Chart>
            </div>
        </div>
    );
}

它只会成功呈现我首先列出的图表,在本例中为 ColumnChart。如果我要切换它们,只有甘特图会成功加​​载。

这是之前代码呈现的图像。 enter image description here

最佳答案

尝试更新您的 react-google-charts 节点模块,以确保您拥有正确的甘特图类型:

npm update react-google-charts

而且您必须为每个图表使用不同的 graph_id 属性:

<div className="forcastingChart">
    <Chart 
        graph_id="chart1" 
        id="chart1" 
        chartType="ColumnChart" 
        data={this.state.data} 
        width="100%" 
        options={this.state.options}>
    </Chart>
</div>
<div className="GanttChart">
    <Chart 
        graph_id="chart2" 
        id="chart2" 
        chartType = "Gantt" 
        columns={this.state.columns} 
        rows={this.state.rows} 
        chartPackages={['gantt']}
        width="100%" height="9999px">
    </Chart>
</div>

关于javascript - 无法呈现两个相同的 React 组件,特别是 react-google-chart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38257461/

相关文章:

javascript - 如何确保我的 css 覆盖在任何站点的顶部?

javascript - 从 iframe 中删除网页

javascript - 在 react 中的链接上添加事件类

python - 单页应用程序的 ReactJS 服务器端渲染

javascript - 检查重复的 Javascript 对象

javascript - 这是禁用滚动的好方法吗?

reactjs - react - 错误 : Attempted import error/App' does not contain a default export (imported as 'App'

javascript - jqPlot - 饼图数据突出显示

javascript - ChartJS : how to make a bar chart with a horizontal guideline:

javascript - Highcharts - 堆积面积图中系列之间的差距