网站首页 > 网络编程 正文
这个文章真的呕心沥血,我只能对echats官方说,草,太傻逼了。rn官方的webview 组件变动了位置,echats官方并没有及时更新,所以频频报错。
我试了官方的echats,还有echats pro,还有sechats,但是最初都没有安装成功。
我的版本:2021年2月亲测ok
"native-echarts": "^0.5.0", "react": "16.13.1", "react-native": "0.63.4",
官方地址自己找,关键字是echarts.apache。我看了各种github的Issues,stackoverflow,百度谷歌满地找,各种解决方案,终于找到正确的操作。
1.安装环境 npm install native-echarts --save npm i react-native-webview react-native link react-native-webview //佛祖保佑,最后一个有老外说0.6以上的rn无需这一步骤,但是我还是使用了。 2.新建文件夹并复制tpl.html文件 这个文件夹是没有的,需要自己新建! 复制node_modules\native-echarts\src\components\Echarts\tpl.html文件、到android/app/src/main/assets文件夹下。 3.webview 会出现在第二行,把这个webview删了, 从第二行删掉,写到最后一行,并且from 更改为react-native-webview
4.还在这个文件index.js里面
添加 const iosPlatform = Platform.OS === 'ios' ? 'true' : 'false'; //搜索关键词source,更改里面的内容 source={iosPlatform === 'true' ? require('./tpl.html') : {uri: 'file:///android_asset/tpl.html'}}
如果你懒得改,直接复制我的
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'; const iosPlatform = Platform.OS === 'ios' ? 'true' : 'false'; 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(); } } setNewOption(option) { this.refs.chart.postMessage(JSON.stringify(option)); } render() { return ( <View style={{flex: 1, height: this.props.height || 400,}}> <WebView ref="chart" scrollEnabled = {false} injectedJavaScript = {renderChart(this.props)} style={{ height: this.props.height || 400, backgroundColor: this.props.backgroundColor || 'transparent' }} scalesPageToFit={Platform.OS !== 'ios'} originWhitelist={['*']} source={iosPlatform === 'true' ? require('./tpl.html') : {uri: 'file:///android_asset/tpl.html'}} onMessage={event => this.props.onPress ? this.props.onPress(JSON.parse(event.nativeEvent.data)) : null} /> </View> ); } }
最后一步:
找一个demo,官方的demo,复制粘贴进去,跑起来就行。
- 上一篇: 检测虚拟机源码
- 下一篇: bcy登录列子&hk轨迹
猜你喜欢
- 2023-01-16 计算机命令笔记2
- 2023-01-15 电脑蓝屏怎么办?全部解决方法都在这里记得收藏!
- 2023-01-15 C语言Win32常用API函数大全,纯干货
- 2023-01-15 win进程弹出Microsoft Visual C++ Runtime Library的解决办法
- 2023-01-15 快捷键知识大全
- 2023-01-15 关于使用GraalVM打包java项目,生成各种原生应用的对比
- 2023-01-14 windows蓝屏代码及常见蓝屏的解决办法
- 2023-01-14 SQLMAP深度解析及使用手册
- 2023-01-14 Win 文本编辑工具
- 2023-01-14 源代码保护为什么那么重要?哪些方法可以帮助实现?
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
本文暂时没有评论,来添加一个吧(●'◡'●)