Torihaji's Growth Diary

Little by little, no hurry.

FramerMotionのclassNameとVariantの使い分けについて

はじめに

slackのtimesに閉じておくのはもったいないと思ってこっちに書くことにした

結論

variantsで指定すべきもの:

  • アニメーションしたい値(opacity, scale, x, y など)
  • トランジション中に動的に変化させたい値
  • 状態に応じて滑らかに変化させたい値

classNameで指定すべきもの:

  • 静的なスタイリング(背景色、ボーダー、パディングなど)
  • レイアウトに関する基本的な設定(position: fixed など)
  • アニメーションする必要のない値
  • パフォーマンスに影響を与える可能性のあるプロパティ(width, height, marginなど)