我在带有this库的react-native上使用highchart。我已经从高图表官方站点创建了简单的活动量表组件。这是组件的代码。
import ChartView from 'react-native-highcharts';
import React, { Component } from 'react';
export default class Speedometer extends Component {
render() {
var Highcharts='Highcharts';
var conf={
chart: {
type: 'solidgauge',
height: '110%',
},
....
series: [{
name: 'Move',
data: [{
color: Highcharts.getOptions().colors[0],
radius: '112%',
innerRadius: '88%',
y: 80
}]
}, {
name: 'Exercise',
data: [{
color: Highcharts.getOptions().colors[1],
radius: '87%',
innerRadius: '63%',
y: 65
}]
}, {
name: 'Stand',
data: [{
color: Highcharts.getOptions().colors[2],
radius: '62%',
innerRadius: '38%',
y: 50
}]
}]
};
const options = {
global: {
useUTC: false
},
lang: {
decimalPoint: ',',
thousandsSep: '.'
}
};
return (
<ChartView style={{height:300}} more guage config={conf} options={options}></ChartView>
);
}
}
当我在屏幕上渲染此组件时,出现错误
TypeError: TypeError: TypeError: TypeError: undefined is not a function (evaluating 'Highcharts.getOptions()')
如何在react-native组件内部使用带有highchart的getOptions或颜色或主题或其他变量。
答案 0 :(得分:1)
您需要在这里了解一些内容:
react-native-highcharts
库创建动态html内容,然后注入到Webview中。在库中的config
函数之后,ChartView
的{{1}}道具中传递的所有内容都会转换为字符串内容。flattenObject
。这个highcharts库将在网络视图内的javascript本地范围内创建变量highcharts
。Highcharts
必须在组件中的某个位置定义并将Highchart
定义为字符串,因此,如果您访问string.function,它将抛出错误。Highchart
,要么您可以创建虚拟{{1} }对象放在根组件中,以使ChartView
不再抱怨Highchart
对象。一旦此对象通过React
传递,图表将在webview和BOOM中的javascript范围内可用highchart。现在您知道该问题了,您可以提出更多解决方案。希望这会有所帮助!