reactjs 에서 highchart 사용하기
options: React.PropTypes.object,
modules: React.PropTypes.array,
React 에서 Highchart Component 만들기
Highchart 에서 React 에서 사용하는 법에 대한 post 를 해놨다. 글을 ref. 1 에 있으니 읽도록 하자. 여기서는 ref.1 에서 제공한 code 가 jsx 를 사용하지 않아서, 보기가 불편한 관계로, jsx 와 ES2015 를 사용한 모양으로 수정한 code 를 올려놓는다.개인적으로 afterMount 가 필요해서 넣어놓는다.
import Highcharts from 'highcharts'
import React from 'react'; // export default ()=>{}
import ReactDOM from 'react-dom';
export class HighchartReact extends React.Component{
constructor(props){
super(props)
}
//Create the div which the chart will be rendered to.
render() {
return <div id={this.props.container}/>;
}
componentDidMount() {
// Extend Highcharts with modules
if (this.props.modules) {
this.props.modules.forEach(function(module) {
module(Highcharts);
});
}
// Set container which the chart should render to.
this.chart = new Highcharts[this.props.type || "Chart"](
this.props.container,
this.props.options
);
// custom function
if(this.props.afterMount){
this.props.afterMount
}
}
//Destroy chart before unmount.
componentWillUnmount(){
this.chart.destroy();
}
}
// static
HighchartReact.defaultProps = {
}
HighchartReact.propTypes = {
container: React.PropTypes.string.isRequired,
type: React.PropTypes.string,
title: React.PropTypes.string,
options: React.PropTypes.object,
modules: React.PropTypes.array,
afterMount: React.PropTypes.func,
}
export class TestComponent extends React.Component{
constructor(props){
super(props)
}
//Create the div which the chart will be rendered to.
render() {
return (
<HighchartReact container='stockChart' type='stockChart'
options= {{
rangeSelector: {
selected: 0
},
title: {
text: 'USD to EUR exchange rate'
},
tooltip: {
style: {
width: '200px'
},
valueDecimals: 4,
shared: true
},
yAxis: {
title: {
text: 'Exchange rate'
}
},
series: [{
name: 'USD to EUR',
data: usdeur,
id: 'dataseries'
// the event marker flags
}, {
type: 'flags',
data: [{
x: Date.UTC(2015, 5, 8),
title: 'C',
text: 'Stocks fall on Greece, rate concerns; US dollar dips'
}, {
x: Date.UTC(2015, 5, 12),
title: 'D',
text: 'Zimbabwe ditches \'worthless\' currency for the US dollar '
}, {
x: Date.UTC(2015, 5, 19),
title: 'E',
text: 'US Dollar Declines Over the Week on Rate Timeline'
}, {
x: Date.UTC(2015, 5, 26),
title: 'F',
text: 'Greek Negotiations Take Sharp Turn for Worse, US Dollar set to Rally '
}, {
x: Date.UTC(2015, 5, 29),
title: 'G',
text: 'Euro records stunning reversal against dollar'
}, {
x: Date.UTC(2015, 5, 30),
title: 'H',
text: 'Surging US dollar curbs global IT spend'
}],
onSeries: 'dataseries',
shape: 'circlepin',
width: 16
}]
}}/>
);
}
}
댓글 없음:
댓글 쓰기