Notes on Taro ECharts Pitfalls


背景

最近的一次项目中实践了两个技术方向:

中间经历的略微有些坎坷,但是问题不大,都一一解决。

“难的不是问题,难的是迈出解决问题的那一步”。

问题

主要有以下几个问题:

  1. React 中使用 原生组件 偶现参数丢失状态触发异常triggerEvent事件不触发
  2. echarts 中报 xx.addEventListener is not a function
  3. echarts 层级过高,浮在 PopupModal 等组件上;
  4. echarts 面积过大,导致移动端的触摸滚动影响页面;
  5. CoverView 组件的坑点;

解法

1. React 中使用 原生组件 偶现参数丢失状态触发异常triggerEvent事件不触发

这个问题我并没有找到原因,因为时间关系,但是唯一能肯定的是稳定偶现 & 真机偶现

事件名绑定:

props 绑定: 维持原生写法;

翻看了过往的 issue & pr,有几个 issue & pr 留意了下:

  1. PR: 14221
  2. ISSUE: 15007
    • Open 状态,暂无人回复

最终解决方法:使用 React 重新构建 React 版本的组件

2. echarts 中报 xx.addEventListener is not a function

这里追溯到 Apache echarts-for-weixin 的官方库有过一个修复,我们对比做更新代码即可;

Commit: 43d0147

3. echarts 层级过高,浮在 PopupModal 等组件上;

4. echarts 面积过大,导致移动端的触摸滚动影响页面;

参照ISSUE: 12522,使用 charts 两边留白的方案解决;

以下是核心代码:

5. CoverView 组件的坑点;

坑的一批,谁用谁知道,俗称:“狗都不用”,但我还是用了,害!

有个小 tip:

字体和行高一样是,记得把行高多设置 2px ,不然字体顶部会有剪裁的痕迹(IOS 真机)