Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

echarts-for-react-typescript

hustcc109MIT1.2.5TypeScript support: included

baidu Echarts(v3.0) components for react

react, component, echarts-react, echarts, react-echarts, chart, charts, graph, react-component

readme

echarts-for-react

A very simple echarts(v3.0) wrapper for react.

Build Status npm npm npm react supported

1. install

npm install echarts-for-react

How to run the demo:

git clone git@github.com:hustcc/echarts-for-react.git

npm install

npm start

then open http://127.0.0.1:8080/ in your browser. or see http://git.hust.cc/echarts-for-react/

2. usage

Simple demo code. for more example can see: http://git.hust.cc/echarts-for-react/

import React from 'react';
import ReactEcharts from 'echarts-for-react';  // or var ReactEcharts = require('echarts-for-react');

<ReactEcharts
    option={this.getOption()} 
    notMerge={true}
    lazyUpdate={true}
    theme={"theme_name"}
    onChartReady={this.onChartReadyCallback}
    onEvents={EventsDict} />

3. component props

  • option (required, object)

the echarts option config, can see http://echarts.baidu.com/option.html#title.

  • notMerge (required, object)

when setOption, not merge the data, default is false. See http://echarts.baidu.com/api.html#echartsInstance.setOption.

  • lazyUpdate (required, object)

when setOption, lazy update the data, default is false. See http://echarts.baidu.com/api.html#echartsInstance.setOption.

  • style (optional, object)

the style of echarts div. object, default is {height: '300px'}.

  • className (optional, string)

the class of echarts div. you can setting the css style of charts by class name.

  • theme (optional, string)

the theme of echarts. string, should registerTheme before use it (theme object format: https://github.com/ecomfe/echarts/blob/master/theme/dark.js). e.g.

// import echarts
import echarts from 'echarts'; 
...
// register theme object
echarts.registerTheme('my_theme', {
  backgroundColor: '#f4cccc'
});
...
// render the echarts use option `theme`
<ReactEcharts 
    option={this.getOption()} 
    style={{height: '300px', width: '100%'}} 
    className='echarts-for-echarts' 
    theme='my_theme' /> 
  • onChartReady (optional, function)

when the chart is ready, will callback the function with the echarts object as it's paramter.

  • loadingOption (optional, object)

the echarts loading option config, can see http://echarts.baidu.com/api.html#echartsInstance.showLoading.

  • showLoading (optional, bool, default: false)

bool, when the chart is rendering, show the loading mask.

  • onEvents (optional, array(string=>function) )

binding the echarts event, will callback with the echarts event object, and the echart object as it's paramters. e.g:

let onEvents = {
    'click': this.onChartClick,
    'legendselectchanged': this.onChartLegendselectchanged
}
...
<ReactEcharts
    option={this.getOption()} 
    style={{height: '300px', width: '100%'}} 
    onEvents={onEvents} />

for more event key name, see: http://echarts.baidu.com/api.html#events

4. Component API & Echarts API

the Component only has one API named getEchartsInstance.

  • getEchartsInstance() : get the echarts instance object, then you can use any API of echarts.

for example:

// render the echarts component below with rel
<ReactEcharts ref='echarts_react'
    option={this.getOption()} />

// then get the `ReactEcharts` use this.refs.echarts_react

let echarts_instance = this.refs.echarts_react.getEchartsInstance();
// then you can use any API of echarts.
let base64 = echarts_instance.getDataURL();

About API of echarts, can see http://echarts.baidu.com/api.html#echartsInstance.

you can use the API to do:

  1. binding / unbinding event.
  2. dynamic charts with dynamic data.
  3. get the echarts dom / dataURL / base64, save the chart to png.
  4. release the charts.

5. LICENSE

MIT

changelog

v2.1.0

  • Deprecate usage of <base href> as an automatic substitute for basename in useBasename. They have subtly different semantics (#94)

v2.0.2

Apr 14, 2016

  • Bugfix: Fix usage of hasOwnProperty (thanks @taion)
  • Bugfix: Fix handling of <base> without href (#262 thanks @taion)
  • Bugfix: Fix security error when frontend URL !== backend URL (#267 thanks @slorber)

v2.0.1

Mar 2, 2016

  • Bugfix: Fix stack size growth with every listenBefore listener (#225 thanks @threepointone, @taion)
  • Remove docs from npm package

v2.0.0

Feb 4, 2016

  • Bugfix: Fix search base logic with an empty query (#221)
  • Bugfix: Fail gracefully when Safari 5 security settings prevent access to window.sessionStorage (#223)

v2.0.0-rc3

Feb 3, 2016

  • Bugfix: Don't convert same-path PUSH to REPLACE when location.state changes (#179)
  • Bugfix: Re-enable browser history on Chrome iOS (#208)
  • Bugfix: Properly support location descriptors in history.createLocation (#200)

v2.0.0-rc2

Jan 9, 2016

  • Add back deprecation warnings

v2.0.0-rc1

Jan 2, 2016

  • Bugfix: Don't create empty entries in session storage (#177)

v1.17.0

Dec 19, 2015

  • Bugfix: Don't throw in memory history when out of history entries (#170)
  • Bugfix: Fix the deprecation warnings on createPath and createHref (#189)

v1.16.0

Dec 10, 2015

  • Bugfix: Silence all warnings that were introduced since 1.13 (see mjackson/react-router#2682)
  • Deprecation: Deprecate the createLocation method in the top-level exports
  • Deprecation: Deprecate the state arg to history.createLocation

v1.15.0

Dec 7, 2015

  • Feature: Accept location descriptors in createPath and createHref (#173)
  • Deprecation: Deprecate the query arg to createPath and createHref in favor of using location descriptor objects (#173)

v1.14.0

Dec 6, 2015

  • Feature: Accept objects in history.push and history.replace (#141)
  • Deprecation: Deprecate history.pushState and history.replaceState in favor of passing objects to history.push and history.replace (#168)
  • Bugfix: Disable browser history on Chrome iOS (#146)
  • Bugfix: Do not convert same-path PUSH to REPLACE if the hash has changed (#167)
  • Add ES2015 module build (#152)
  • Use query-string module instead of qs to save on bytes (#121)

v1.13.1

Nov 13, 2015

  • Fail gracefully when Safari security settings prevent access to window.sessionStorage
  • Pushing the currently active path will result in a replace to not create additional browser history entries (#43)
  • Strip the protocol and domain from <base href> (#139)

v1.13.0

Oct 28, 2015

  • useBasename transparently handles trailing slashes (#108)
  • useBasename automatically uses the value of <base href> when no basename option is provided (#94)

v1.12.6

Oct 25, 2015

  • Add forceRefresh option to createBrowserHistory that forces full page refreshes even when the browser supports pushState (#95)

v1.12.5

Oct 11, 2015

  • Un-deprecate top-level createLocation method
  • Add ability to use { pathname, search, hash } object anywhere a path can be used
  • Fix useQueries handling of hashes (#93)

v1.12.4

Oct 9, 2015

  • Fix npm postinstall hook on Windows (#62)

v1.12.3

Oct 7, 2015

  • Fix listenBefore hooks not being called unless a listen hook was also registered (#71)
  • Add a warning when we cannot save state in Safari private mode (#42)

v1.12.2

Oct 6, 2015

v1.12.1

Oct 5, 2015

  • Give location objects a key by default
  • Deprecate history.setState

v1.12.0

Oct 4, 2015

  • Add history.createLocation instance method. This allows history enhancers such as useQueries to modify location objects when creating them directly
  • Deprecate createLocation method on top-level exports

v1.11.1

Sep 26, 2015

  • Fix location.basename when location matches exactly (#68)
  • Allow transitions to be interrupted by another

v1.11.0

Sep 24, 2015

  • Add useBasename history enhancer
  • Add history.listenBefore
  • Add history.listenBeforeUnload to useBeforeUnload history enhancer
  • Deprecate (un)registerTransitionHook
  • Deprecate (un)registerBeforeUnloadHook
  • Fix installing directly from git repo