TypeError:无法读取null的属性“ nodeName”

时间:2019-05-07 22:44:25

标签: reactjs highcharts react-router react-highcharts

我正在尝试运行一个小图表来测试在Visual Studio中创建的项目中的Highchart,并且遇到

  

TypeError:无法读取null a.Chart.getArgs的属性'nodeName'   L:/ Google云端硬盘/公开大学学习/三年级   modules / TM4 / analitics / ReactApp / ReactApp / ClientApp / node_modules / highcharts / highcharts.js:266   错误消息。

该项目位于React中,并具有以下依赖项

"bootstrap": "^3.3.7",
"highcharts": "^7.1.1",
"highcharts-react-official": "^2.1.3",
"react": "16.4.0",
"react-bootstrap": "^0.31.5",
"react-dom": "^16.0.0",
"react-router-bootstrap": "^0.24.4",
"react-router-dom": "^4.2.2",
"react-scripts": "1.0.17",
"rimraf": "^2.6.2"

到目前为止,我已经尝试创建一个新的react项目,并在安装了我忽略了bootstrap和react router的依赖项之后将该组件复制到了其中。这样可以按预期显示该图,因此,我现在知道该组件可以按预期工作。

然后,我尝试重新安装Highchart,并在原始项目中对Highcharts做出反应,但未成功。

我查看了堆栈溢出时的许多其他帖子,发现了类似的错误,但是,在这些问题中找不到解决方案。

import React from 'react';
import { Component } from 'react';
import { render } from 'react-dom';
import Highcharts from 'highcharts';
import HighchartsReact from 'highcharts-react-official';
import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
import { renderToString } from 'react-dom/server';



export default class Hichart extends Component {

    render(){
        return (<div>
            <HighchartsReact highcharts={Highcharts} options={{
                title: {
                    text: 'My chart'
                },
                series: [{
                    data: [1, 2, 3]
                }]
            }} /></div > );
    }
}

我希望显示一个图形,而不是出现一条长错误消息,突出显示highchart.js文件的某些部分。

  

×TypeError:无法读取null a.Chart.getArgs的属性“ nodeName”   L:/ Google云端硬盘/公开大学学习/三年级   modules / TM4 / analitics / ReactApp / ReactApp / ClientApp / node_modules / highcharts / highcharts.js:266

1 个答案:

答案 0 :(得分:0)

尝试此重构。

“从'react-dom'导入{渲染};“在html元素上呈现整个React应用程序时使用。

import React from 'react';
import Highcharts from 'highcharts';
import HighchartsReact from 'highcharts-react-official';
import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
import { renderToString } from 'react-dom/server';


class HichartComponent extends React.Component {
  
  render(){
    const options = {
      title: {
        text: 'My chart'
      },
      series: [{
        data: [1, 2, 3]
      }]
    }
    
    return (
      <div>
        <HighchartsReact
          highcharts={Highcharts}
          options={options}
        />
      </div>
    );
  }
}

export default HichartComponent;