Highcharts 未渲染:React+Typescript+Highcharts

2023-12-20

尝试使用反应来调出高图表。我有多个 fetch api 调用(为了说明,我只添加了 2 个),我将使用其数据在 UI 中呈现某些内容。

在此示例中,data1 用于呈现表格,data2 用于呈现高图。

我将这些调用的输出存储在状态对象中。当我调用这些 API 时,我获取了数据,但无法将其设置为 highcharts 的“series”属性以进行渲染,因此没有渲染任何内容。

我正在获取的数据的结构

“api2”:[ { “名称”:“测试1”, “值”:12 }, { “名称”:“测试2”, “值”:9 } ]

有人可以帮我弄这个吗?我哪里错了?

我为此使用 highcharts-react-official

Code

import * as React from 'react';
import Highcharts from 'highcharts'
import HighchartsReact from 'highcharts-react-official';

interface IState {
  data1: [];
  data2: [];
}

interface IProps {}

class Example extends React.Component<IProps,IState> {
  constructor(props:any)
  {
    super(props);
    this.state = {
       data1: [],
       data2: []
    }
  }

  componentDidMount()
  {
      Promise.all([
        fetch('http://localhost:3001/api1'),
        fetch('http://localhost:3001/api2')
      ])
      .then(([res1, res2]) => Promise.all([res1.json(), res2.json()]))
       .then(([data1, data2]) => this.setState({
         data1: data1, 
         data2: data2
      }));
  }

  render() {    
    let options:any;
    options = {
         chart: {
            type: 'column'
         },
      credits: false,
      exporting: {enabled: false},
      title: {
        text: ''
      },
      legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'bottom'
            },
      xAxis: {
        visible:false
      },
      yAxis: {
        visible:false
      },
      plotOptions: {
        column: {
          dataLabels: {
                        enabled: true                         }
        }
      },
      series: this.state.data2
     };

    return(
      <div className="an-content">
          //some table rendering will happen here
          <HighchartsReact
                 highcharts={Highcharts}
                 options={options} 
          />
      </div>
    )
  }
} 
export default Example;

您需要提供Highcharts所需的数据格式:

  this.setState({
      data2: data2.map(x => ({ name: x.name, data: [x.value] }))
  });

现场演示:https://codesandbox.io/s/7w2pw4p900 https://codesandbox.io/s/7w2pw4p900

API参考:https://api.highcharts.com/highcharts/series.column.data https://api.highcharts.com/highcharts/series.column.data

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Highcharts 未渲染:React+Typescript+Highcharts 的相关文章

随机推荐

  • Linux 中的 SDL 桌面分辨率检测[重复]

    这个问题在这里已经有答案了 我收到一些报告称 对于某些 Linux 用户 尤其是使用 SteamOS 的用户 我的游戏以错误的分辨率打开 游戏尝试检测当前桌面分辨率并使用该分辨率创建无边框全屏窗口 例如 SteamOS 的分辨率通常为 19
  • java.lang.StackOverflowError:在 ListView 适配器中启用/禁用 TextView#setTextIsSelectable 时堆栈大小为 8MB

    我有一个活动ListView 显示TextView在每个列表项中 使用这些方法切换选定位置的属性EditText setTextIsSelectable EditText setEllipsize EditText setSingleLin
  • XCTest相对于SenTestingKit有哪些优势?

    我想在 iOS 中进行单元测试 默认情况下 测试类是使用 Xcode 5 中的 XCTest 框架类创建的 我在早期版本的 iOS 中使用了 SenTestingKit 这两个框架有什么区别 XCTest框架有哪些优势 我用谷歌搜索了相关文
  • 材料表使行在单击时可编辑

    使用材料表 https material table com 库中 我试图使表行可以通过双击进行编辑 单击该行应该与单击操作列最左侧的编辑按钮具有相同的效果 我已成功链接到正确的事件处理程序 现在双击一行时由警报框表示 https code
  • kohana3.0如何彻底删除镜像文件?

    我有一个 kohana3 0 内容和文件管理系统 当用户删除图像时 我希望能够从数据库以及我上传图像的文件夹中完全删除图像 现在我用于图像删除 public function delete id NULL parent delete id
  • gdb - 执行命令n次

    我正在使用 gdb 调试器来运行一个包含循环的程序 让我们坐在 10 中 当我进入循环时 我不想进入它 我知道我可以在循环之后设置第二个断点 而不是 c 继续 但我也记得有可能做类似 n 10 接下来的 10 次 的事情 n 10 不起作用
  • 如何使用 Ansible 创建新分区

    当我在命令行上运行它时 它工作正常 echo e n np n1 n n nw sudo fdisk dev sdb 但在 Ansible 中它不想在 shell 中运行 name partition new disk shell echo
  • 如何在运行时填充 boost::fusion::vector ?

    首先 为与我之前的问题相似而道歉here https stackoverflow com questions 13094535 iterating over boost fusionvector 但我认为我问得不对 我有一个方法 templ
  • 在 .net 2.0 应用程序中加载 .net 3.5 wpf-forms

    我正在尝试在 net 2 0 Windows 窗体应用程序中加载和托管 WPF 控件 仅当安装了 net 3 5 时才应加载 WPF 控件 我找到了一个链接在 MFC 应用程序中托管 WPF 内容 http www codeguru com
  • npm 认为 Node 已经过时了,但事实并非如此

    我正在尝试安装node gyp 我跑 sudo npm install g node gyp 我收到一条错误 提示它需要节点 0 8 0 并提示我正在运行 0 6 12 问题是 我不是 我正在使用 NVM 目前正在运行 0 11 somet
  • 如何将 numpy 数组列表转换为单个 numpy 数组?

    假设我有 LIST array 1 2 3 4 5 array 1 2 3 4 5 1 2 3 4 5 inner lists are numpy arrays 我尝试转变 array 1 2 3 4 5 1 2 3 4 5 1 2 3 4
  • 无法在 Google App Engine 上运行 Flask 调试模式

    我正在使用 Python 2 7 在 Google App Engine 上运行 Flask 0 9 Werkzeug 0 8 3 并且我非常希望运行 Werkzeug 调试器 尝试使用后werkzeug appengine debugge
  • 未知管理员:ComponentInfo - 尝试为生产 Android 设备启用 kiosk 模式?

    我正在尝试为我的设备启用信息亭模式 但收到未知的管理错误 我很确定我成功地将我的应用程序设置为设备所有者 并且我认为这是最后一步 但这个错误给我带来了很多麻烦 清单 我这里有一个接收器 应该将我的应用程序绑定为设备管理员 它还引用了 dev
  • 在javascript中使用window.open()有什么限制吗

    使用有限制吗window open URL 在 JavaScript 中 当我尝试使用打开三个窗口时window open URL 打开第二个窗口后 第三个窗口没有单独打开 但它只是刷新第一个窗口的内容并在其中显示第三个窗口的内容 使用 b
  • Java中showMessageDialog中的frame和null有什么区别?

    假设我有一个 JFrame 类的对象作为框架 我想知道有什么区别 JOptionPane showMessageDialog null message and JOptionPane showMessageDialog frame mess
  • iOS:如何修剪 .aif 音频录制开始和结束时的静音?

    我的应用程序包括用户录制简短消息的功能 我想从录音的开头和结尾删除任何静音 或者更准确地说 任何音量低于给定阈值的音频 我正在使用 AVAudioRecorder 录制音频 并将其保存到 aif 文件中 我在其他地方看到过一些提到的方法 通
  • 使用 2 个索引列表对 2D Numpy 数组进行索引

    我遇到了一个奇怪的情况 我有一个 2D Numpy 数组 x x np random random integers 0 5 20 8 我有 2 个索引器 一个带有行索引 另一个带有列索引 为了索引 X 我必须执行以下操作 row indi
  • 设置 Android RadioGroup 的选定索引

    除了循环遍历子单选按钮并选择检查所选索引处的单选按钮之外 还有其他方法可以在 android 中设置 RadioGroup 的选定索引吗 注意 我在运行时填充单选按钮组 如果您的单选按钮组是在布局 xml 文件中定义的 则可以为每个按钮分配
  • UIcollectionView cellForItemAtIndexPath 仅在 iOS 10 中返回 Null。在 iOS 9 和 iOS 8 中运行良好

    我有一个应用程序 已经愉快地发布了几年了 它在 UICollectionView 中检索 RSS 提要 cellForItemAtIndexPath 方法设置文本并调用数据源方法以从提要中指定的链接加载图像 如果不存在 则加载网页数据并搜索
  • Highcharts 未渲染:React+Typescript+Highcharts

    尝试使用反应来调出高图表 我有多个 fetch api 调用 为了说明 我只添加了 2 个 我将使用其数据在 UI 中呈现某些内容 在此示例中 data1 用于呈现表格 data2 用于呈现高图 我将这些调用的输出存储在状态对象中 当我调用