ReactLynx
【注意】Lynx 开源版本暂时不提供 canvas 画布功能,所以暂时不支持 vchart 的渲染,后续版本将会支持,敬请期待,更多功能请查看 lynx 官网
Lynx 是字节开源的高性能跨端框架,基于 Web 技术栈快速构建 Native 视图,Lynx 于 2025-03-05 正式开源,ReactLynx 是 Lynx 的 React 语法版本 ;VChart 基于字节内部版本 ReactLynx3.0 ,提供了图表渲染能力支持。
如何获取 Lynx-VChart
npm 包
你可以直接在 ReactLynx 项目中安装 lynx-vchart 依赖包(该包为内网包):@dp/lynx-vchart。
统一图表标签
<VChart /> 接收的一个完整的spec作为图表定义,其spec的数据结构完全等同于 VChart 中的定义,因此开发者可以将任何对于 VChart 合法的 spec 送入 Lynx-VChart 中进行图表渲染。
示例:
import VChart from '@dp/lynx-vchart'; export function PieChart() { const spec = { type: 'pie', data: [ { id: 'id0', values: [ { type: 'oxygen', value: '46.60' }, { type: 'silicon', value: '27.72' }, { type: 'aluminum', value: '8.13' }, { type: 'iron', value: '5' }, { type: 'calcium', value: '3.63' }, { type: 'sodium', value: '2.83' }, { type: 'potassium', value: '2.59' }, { type: 'others', value: '3.5' } ] } ], outerRadius: 0.8, valueField: 'value', categoryField: 'type', title: { visible: true, text: 'Statistics of Surface Element Content' }, legends: { visible: true, orient: 'left' }, label: { visible: true }, tooltip: { mark: { content: [ { key: datum => datum['type'], value: datum => datum['value'] + '%' } ] } } }; return ( <div className="cusomized-pie-chart"> <VChart spec={spec} onReady={() => console.log('ready')} width="700rpx" height="900rpx" /> </div> ); }
Props
如果你已经有了 spec 图表描述信息,使用统一图表标签是比较快捷的方式,只需要引入VChart组件即可:
import VChart from '@dp/lynx-vchart';
VChart组件即封装的 ReactLynx 组件,其 props 定义如下:
interface VChartProps extends EventsProps { /** 图表定义 */ spec: any; /** 图表配置 */ options?: ChartOptions; /** 图表渲染完成事件 */ onReady?: (instance: VChart, isInitial: boolean) => void; /** throw error when chart run into an error */ onError?: (err: Error) => void; /** * 切换到同步渲染 * * @since 1.8.3 **/ useSyncRender?: boolean; /** * props更新的时候,跳过所有函数的检查,即所有的函数都认为没有更新 * * @since 1.6.5 **/ skipFunctionDiff?: boolean; }