antvis / F2

📱📈An elegant, interactive and flexible charting library for mobile.
https://f2.antv.vision/zh
MIT License
7.89k stars 649 forks source link

【feature】支持 react native 吗 #163

Closed youngjuning closed 5 years ago

dxq613 commented 6 years ago

之前有人用 react native 写过,你可以参考使用 node 的方案:https://antv.alipay.com/zh-cn/f2/3.x/tutorial/node-env.html

chenshuai2144 commented 6 years ago

https://github.com/chenshuai2144/f2-demo 看这里,用的 expo

youngjuning commented 6 years ago

谢谢大家的帮助

youngjuning commented 6 years ago

image 真的没有办法支持下面三个特性吗

simaQ commented 6 years ago

node 是在服务端渲染的,最后以图片方式输出,所以不支持。 react native 的环境我不太清楚,办法或许也有,你可以看下我对小程序适配的思路: https://zhuanlan.zhihu.com/p/35685093,tooltip 组件关键在于事件的触发,动画的关键在于有没有 requestAnimationFrame 或者 setInterval 接口。

youngjuning commented 6 years ago

@simaQ 你们团队是vue 栈的吗?有没有小哥哥有兴趣帮你适配一下 rn 呢?我这边rn 水平有限呢

simaQ commented 6 years ago

动画应该就支持的吧

chenshuai2144 commented 6 years ago

代码要自己写哇 大兄弟 我们是开源社区 不是外包社区

simaQ commented 6 years ago

我们团队不基于任何栈~~ RN 如果要支持 F2 全部功能的话,估计的话应该也就是事件这一块,vue 目前已经有封装了: https://vux.li/demos/v2/?x-page=github#/components/v-chart/home

youngjuning commented 6 years ago

ok,https://doc.vux.li/zh-CN/components/v-chart.html,期待ing

zhaozhiming commented 6 years ago

所以F2什么时候可以支持RN的事件?有没有计划?谢谢

simaQ commented 6 years ago

目前这一块还没有计划,不过欢迎共建

luweiCN commented 6 years ago

我看了react-native的那个小demo,他是使用了react-native-canvas,是不是因为这个所以他是node渲染出来的canvas然后直接输出了图片,所以无法支持事件?我看了native-echarts,它们是封装了echarts,我看他们底层是用了WebView来做的,所以很好的支持了事件。我觉得这应该是一个解决方案,我是想做这个feature的支持,但是不知道从哪里入手,希望你们能给点建议

simaQ commented 6 years ago

@luweiCN 恩,是的,之前那个 demo 是基于 react-native-canvas 的,只提供图表绘制能力,事件、交互这些都是不支持的。

如果底层使用 WebView 的话,我不是特别清楚,如果它的环境同 H5 差不多的话,可能就是适配封装几个接口就可以了吧:

  1. 一个 canvas 上下文
  2. 封装一下事件接口

参考下:https://www.yuque.com/antv/blog/bg9sxf#2gtazf

到时候可能还需要在 F2 的代码中加一些环境变量的判断:https://github.com/antvis/f2/blob/master/src/graphic/canvas.js#L34

@luweiCN 你可以先尝试,有什么问题随时在 github 上问我们,我们会及时回复的,非常欢迎你能参与到我们的开源共建中。

youngjuning commented 6 years ago

@simaQ Please ReOpen this feaure issue.

youngjuning commented 6 years ago

Thanks Little sister!!

mapleafgo commented 6 years ago

@youngjuning react-native-f2已支持其它三项,但有触摸闪动问题

luweiCN commented 6 years ago

@fanlide 这个也是用 react-native-canvas 实现的,应该也不支持动画和事件吧

mapleafgo commented 6 years ago

@luweiCN 我使用RN的手势系统PanResponder,参考wx-f2实现。支持了动画和事件

simaQ commented 5 years ago

与 #406 重复

chj-damon commented 4 years ago

chenshuai2144/f2-demo 看这里,用的 expo

demo在最新的expo36跑不起来