CSSキーフレームまたは任意のJavaScriptアニメーションライブラリを使用して、Radixプリミティブをアニメーション化します。
Radixプリミティブへのアニメーションの追加は、他のコンポーネントと同様に感じるはずですが、JSアニメーションライブラリを使用した終了アニメーションに関するいくつかの注意点があります。
プリミティブをアニメーション化するための最も簡単な方法はCSSを使用することです。
マウントフェーズとアンマウントフェーズの両方をアニメーション化するためにCSSアニメーションを使用できます。後者は、Radixプリミティブがアニメーションが再生される間、アンマウントを中断するため可能です。
多くのステートフルなプリミティブが表示から非表示になると、実際にはReactツリーから削除され、その要素はDOMから削除されます。JavaScriptアニメーションライブラリはアンマウントフェーズを制御する必要があります。そのため、多くのコンポーネントにforceMount
プロップを提供し、コンシューマーがこれらのライブラリによって決定されたアニメーションの状態に基づいて子のマウントとアンマウントを委譲できるようにします。
たとえば、React Springを使用してDialog
をアニメーション化したい場合、アニメーションの状態に基づいて、useTransition
のようなフックのいずれかからダイアログのOverlay
とContent
部分を条件付きでレンダリングすることによって行います。