> [!NOTE]
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
> [English](./README.en.md) · [原始项目](https://github.com/margelo/react-native-graph) · [上游 README](https://github.com/margelo/react-native-graph/blob/HEAD/README.md)
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
yarn add react-native-reanimated yarn add react-native-gesture-handler yarn add @shopify/react-native-skia yarn add react-native-graph## 用法 ```jsx function App() { const priceHistory = usePriceHistory('ethereum') return
是否在数据变化之间播放动画。
动画通过 [Skia animation system](https://shopify.github.io/react-native-skia/docs/animations/animations) 运行,并完全在原生层进行插值,以确保最佳性能。
若 `animated` 为 `false`,将使用轻量级图表渲染器实现,非常适合在大型列表中展示大量图表。
示例:
```jsx
是否启用平移手势。
> 需要将 `animated` 设为 `true`。
当用户与图表交互时会触发三个事件:
1. `onGestureStart`:用户按下并按住图表时触发一次。平移手势 _激活_。
2. `onPointSelected`:用户平移经过每个数据点时触发。可用此事件更新标签或在图表中高亮选中项。
3. `onGestureEnd`:用户松开手指、平移手势 _停用_ 时触发一次。
可通过以下 props 配置平移手势:
1. `panGestureDelay`:设置平移手势激活的延迟。设为 `0` 可在触摸后立即开始。默认值为 `300`。
示例:
```jsx
用于在图表上方或下方渲染标签。
> 需要将 `animated` 设为 `true`。
通常用于渲染图表的最大值和最小值。可从图表点数组中获取最大、最小值,并据此在 X 轴上平滑动画更新标签。
示例:
```jsx
用于定义图表画布的范围
该范围必须大于所提供数据点的跨度。例如,当图表需要显示固定时间段时(无论该时段是否有数据),可使用此功能。
用于渲染选中点。
> 需要将 `animated` 和 `enablePanGesture` 设为 `true`。
若 `SelectionDot` 缺失或为 `undefined`,将提供带外环和浅阴影的默认样式。
示例:
```jsx
**react-native-graph** 由 [Pink Panda](https://pinkpanda.io). 赞助
下载 Pink Panda 移动应用,亲眼看看 react-native-graph 的实际效果!
## 社区 Discord
[加入 Margelo Community Discord](https://discord.gg/6CSHz2qAvA),讨论 react-native-graph 或其他 Margelo 库。
## 规模化采用
react-native-graph 由精英应用开发机构 Margelo 打造。如需企业支持或其他商务咨询,请通过 hello@margelo.com 联系我们!
## 致谢
特别感谢 [William Candillon](https://github.com/wcandillon) 和 [Christian Falch](https://github.com/chrfalch) 对 React Native Skia 的大力支持与帮助 ❤️