import React, { Component } from 'react'; import { View, StyleSheet, Platform } from 'react-native'; import WebView from 'react-native-webview'; import renderChart from './renderChart'; import echarts from './echarts.min'; export default class App extends Component { constructor(props) { super(props); this.setNewOption = this.setNewOption.bind(this); } UNSAFE_componentWillReceiveProps(nextProps) { if(nextProps.option !== this.props.option) { this.refs.chart.reload(); } } setNewOption(option) { this.refs.chart.postMessage(JSON.stringify(option)); } render() { const source = Platform.OS === 'ios' ? require('./tpl.html') // iOS使用require方式加载 : { uri: 'file:///android_asset/tpl.html' }; // Android从assets目录加载 return ( this.props.onPress ? this.props.onPress(JSON.parse(event.nativeEvent.data)) : null} /> ); } }