Highcharts component for react.
react-highcharts | react-highcharts/more | react-highcharts/highstock | react-highcharts/highmaps
You can also see Code for the demo and run demo locally
npm install react-highcharts --save
npm install react-highcharts highcharts react --save
const React = require('react');
const ReactDOM = require('react-dom');
const ReactHighcharts = require('react-highcharts'); // Expects that Highcharts was loaded in the code.
const config = {
/* HighchartsConfig */
};
ReactDOM.render(<ReactHighcharts config = {config}></ReactHighcharts>, document.body);
const afterRender = (chart) => { /* do stuff with the chart */ };
<ReactHighcharts config = {config} callback = {afterRender}></ReactHighcharts>
<ReactHighcharts config = {config} domProps = {{id: 'chartId'}}></ReactHighcharts>
For access to methods & properties from the Highcharts library you can use ReactHighcharts.Highcharts
.
For example, the Highcharts options are available via ReactHighcharts.Highcharts.getOptions()
.
Highcharts provides an API for manipulating a chart after the initial render. See the Methods and Properties in the documentation. Here's how you access it:
class MyComponent extends React.Component {
componentDidMount() {
let chart = this.refs.chart.getChart();
chart.series[0].addPoint({x: 10, y: 12});
}
render() {
return <ReactHighcharts config={config} ref="chart"></ReactHighcharts>;
}
}
Rerendering a highcharts graph is expensive. You can pass in a isPureConfig
option to the ReactHighcharts
component, which will keep the highcharts graph from being updated so long as the provided config
is referentially equal to its previous value.
There is also neverReflow
property.
See this recipe
Using highmaps (demo)
const ReactHighmaps = require('react-highcharts/ReactHighmaps');
Using highstock (demo)
const ReactHighstock = require('react-highcharts/ReactHighstock')
Using highcharts modules/add-ons like exporting, data, etc. (demo)
Use highcharts-more
npm package.
const ReactHighcharts = require('react-highcharts')
require('highcharts-more')(ReactHighcharts.Highcharts)
You can find the full list list here
const ReactHighcharts = require('react-highcharts').withHighcharts(ReactHighstock)
Run npm tests
git clone https://github.com/kirjs/react-highcharts.git
cd react-highcharts && npm install
npm run demo
Point your browser at http://localhost:8080