import React, { Component } from 'react'; import { View, StyleSheet, Platform } from 'react-native'; import renderChart from './renderChart'; import echarts from './echarts.min'; import WebView from "react-native-webview"; import getTpl from "./tpl" ; export default class App extends Component { constructor(props) { super(props); this.setNewOption = this.setNewOption.bind(this); } componentWillReceiveProps(nextProps) { if(nextProps.option !== this.props.option) { // this.refs.chart.reload(); if(Platform.OS === 'android'){ this.refs.chart.reload(); }else { this.setNewOption(nextProps.option) ; } } } shouldComponentUpdate() { return false ; } setNewOption(option) { this.refs.chart.postMessage(JSON.stringify(option)); } render() { return ( this.props.onPress ? this.props.onPress(JSON.parse(event.nativeEvent.data)) : null} /> ); } }