テクニカルドキュメント
このライブラリとAPIの詳細については、Software Mansionの公式ドキュメントのhttps://docs.swmansion.com/react-native-reanimated/(英語のみ)を参照してください。インストール
該当するReact Nativeバージョンのタブを選択してください。RN 0.83では、追加の依存関係として@amazon-devices/react-native-workletsが必要であることに注意してください。これにより、コアのマルチスレッドインフラストラクチャが提供され、ワークレットが使用可能になります。ワークレットとは、別のスレッド(UIスレッドなど)で実行できるJavaScript関数です。ワークレットは、JavaScriptスレッドをブロックすることなく、Reanimatedでスムーズにアニメーションと対話操作を実行するための基盤となります。
- package.jsonファイルにJavaScriptライブラリの依存関係を追加します。
- React Native 0.72
- React Native 0.83
-
babel.config.jsにReanimated Babelプラグインを追加します。
-
Metroバンドラーのキャッシュをクリアするには、次のコマンドを実行します。
-
npm installコマンドを実行して、package-lock.jsonファイルを再インストールします。
例
次の例は、withTimingメソッドを使用して、単純なアニメーションを無限ループで実行する方法を示しています。
withSpring関数を使用して、ばねに基づくアニメーションを実行する方法を示しています。
APIサポート
VegaのReanimatedライブラリは、以下の一覧に記載されているメソッドのほとんどをサポートするターボモジュールを提供します。アニメーション
コア
スクロール
デバイス
スレッド
ワークレット化
ワークレット化とは、JavaScript関数を、UIスレッドでコピーして実行できるシリアル化可能なオブジェクトに変換することです。関数には「ワークレット」というマークが付いています。ディレクティブはReanimatedBabelプラグインによって自動的に選択され、ワークレット化されます。ユーティリティ
高度なAPI
例外
VegaのReanimatedライブラリには、APIサポートに関していくつかの例外があります。 Vegaは以下のフックとメソッドをサポートしていません。useAnimatedSensoruseAnimatedKeyboarduseReducedMotion- Fabricのレイアウトアニメーション
Layout Animations
- CSS遷移
CSS Transitions - CSSアニメーション
CSS Animations
SETs (Shared Element Transitions)(共通要素遷移)
Vegaでの既知の問題
- 高速リフレッシュが使用された後、
withRepeatを使用するアニメーションがリピートを停止します。 - 高速リフレッシュが使用された後、アニメーションでスタイルが更新されません。

