framer-motion 설치

npm install framer-motion

motion 컴포넌트

import { motion } from 'framer-motion';

function App() {
  return (
    <motion.div
      animate={{ x: 100 }}
      transition={{ duration: 0.5 }}
      style={{ width: 100, height: 100, backgroundColor: 'red' }}
    />
  );
}

export default App;

초기상태 & 애니메이션 정의

<motion.div
  initial={{ opacity: 0 }}
  animate={{ opacity: 1 }}
  transition={{ duration: 1 }}
>
  Hello, Denamu
</motion.div>

hover & tap 시 애니메이션

<motion.button
  whileHover={{ scale: 1.2 }}
  whileTap={{ scale: 0.9 }}
>
  클릭!
</motion.button>

Variants 를 이용해 복잡한 애니메이션 관리