JSFiddle - React, Tailwind, and code Playground
by ling ding
HTML
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/[email protected]/dist/redux.js"></script>
<script src="https://unpkg.com/[email protected]/dist/react-redux.js"></script>
<script src="https://unpkg.com/prop-types/prop-types.min.js"></script>
<script src="https://unpkg.com/recharts/umd/Recharts.min.js"></script>
<h1>Recharts onClick</h1>
<div id="root">...</div>
Babel + JSX
'use strict';
const {LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend} = Recharts;
class Charts extends React.Component {
constructor(props) {
super(props);
this.state = {data : props.data};
}
componentDidMount(){
console.log('componentDidMount '+this.state);
}
render() {
var onClick = (a, b, c) => {
console.log(arguments[0], arguments[1], arguments[2]);
console.log(a, b, c);
}
return (
<LineChart width={600} height={300} data={this.state.data}
margin={{top: 5, right: 30, left: 20, bottom: 5}}>
<XAxis dataKey="name"/>
<YAxis/>
<CartesianGrid strokeDasharray="3 3"/>
<Tooltip/>
<Legend onClick={onClick}/>
<Line type="monotone" dataKey="pv" stroke="#8884d8" activeDot={{r: 8}}/>
<Line type="monotone" dataKey="uv" stroke="#82ca9d" />
</LineChart>
);
}
}
const reducer = (state = {blocks: []}, action) => {
console.log('reduce '+ JSON.stringify(state) + ' ' + JSON.stringify(action));
switch (action.type) {
case 'DO':
var newState = {};
console.log('do '+ JSON.stringify(newState) );
return newState;
default:
return state;
}
}
console.log('Loading ...');
var Provider = ReactRedux.Provider;
var initialState = {data:[
{name: 'Page A', uv: 4000, pv: 2400, amt: 2400},
{name: 'Page B', uv: 3000, pv: 1398, amt: 2210},
{name: 'Page C', uv: 2000, pv: 9800, amt: 2290},
{name: 'Page D', uv: 2780, pv: 3908, amt: 2000},
{name: 'Page E', uv: 1890, pv: 4800, amt: 2181},
{name: 'Page F', uv: 2390, pv: 3800, amt: 2500},
{name: 'Page G', uv: 3490, pv: 4300, amt: 2100},
]};
var store =...