React Academy · पाठ

मोशन कंपोनेंट और बुनियादी एनिमेशन

सरल एनिमेशन के लिए div को motion.div से बदलें और animate, initial तथा exit प्रॉप का उपयोग करें।

पाठ 1, कुल 4 में से14 चरण

मोशन कंपोनेंट और बुनियादी एनिमेशन, CoddyKit पर React Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह React Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Framer Motion क्या है

Framer Motion, React की एनीमेशन लाइब्रेरी है। CSS कीफ़्रेम के बजाय प्रॉप्स के माध्यम से घोषणात्मक एनीमेशन जोड़ने के लिए HTML एलिमेंट को उनके motion.* समकक्षों से बदलें।

इंस्टॉल करना

Framer Motion इंस्टॉल करें और उसमें से motion इम्पोर्ट करें।

npm install framer-motion

import { motion } from 'framer-motion';

आपका पहला एनीमेशन

<div> को <motion.div> से बदलें और initial, animate तथा transition प्रॉप्स जोड़ें।

<motion.div
  initial={{ opacity: 0, y: -20 }}
  animate={{ opacity: 1, y: 0 }}
  transition={{ duration: 0.4 }}
>
  Hello, Framer Motion!
</motion.div>

initial प्रॉप

initial एनीमेशन की शुरुआती स्थिति तय करता है — वह स्थिति जहाँ से एलिमेंट animate तक एनीमेट होने से पहले शुरू होता है।

// Fade in from left
<motion.div
  initial={{ opacity: 0, x: -50 }}
  animate={{ opacity: 1, x: 0 }}
/>

// Scale up from center
<motion.button
  initial={{ scale: 0 }}
  animate={{ scale: 1 }}
/>

animate प्रॉप

animate लक्ष्य स्थिति तय करता है। Framer Motion स्प्रिंग भौतिकी या निर्दिष्ट ईज़िंग का उपयोग करके initial और animate के बीच मध्यवर्ती मान निकालता है।

<motion.h1
  initial={{ opacity: 0 }}
  animate={{ opacity: 1, color: '#4f46e5' }}
  transition={{ duration: 0.6, ease: 'easeOut' }}
>
  Welcome
</motion.h1>

ट्रांज़िशन विकल्प

transition प्रॉप नियंत्रित करता है कि एनीमेशन कैसे आगे बढ़े: duration, ease, delay, type ('spring' | 'tween' | 'inertia')।

transition={{
  type: 'spring',
  stiffness: 300,
  damping: 20,
  delay: 0.2,
}}

animate में कीफ़्रेम

किसी भी एनीमेट किए गए मान को कई स्थितियों से गुज़रने वाला कीफ़्रेम एनीमेशन बनाने के लिए ऐरे के रूप में भेजें।

<motion.div
  animate={{ x: [0, 30, 0] }}
  transition={{ duration: 1, repeat: Infinity, ease: 'easeInOut' }}
/>

होवर और टैप स्थितियाँ

whileHover और whileTap होवर और दबाने की इंटरैक्शन के लिए एनीमेट की गई स्थितियाँ तय करते हैं और जेस्चर समाप्त होने पर अपने-आप पिछली स्थिति में लौट आते हैं।

<motion.button
  whileHover={{ scale: 1.05, backgroundColor: '#4f46e5' }}
  whileTap={{ scale: 0.95 }}
  style={{ backgroundColor: '#6366f1' }}
>
  Press me
</motion.button>

inView से स्क्रॉल पर एनीमेशन

जब एलिमेंट व्यूपोर्ट में स्क्रॉल होकर आए, तब एनीमेशन शुरू करने के लिए whileInView प्रॉप का उपयोग करें।

<motion.section
  initial={{ opacity: 0, y: 40 }}
  whileInView={{ opacity: 1, y: 0 }}
  viewport={{ once: true, amount: 0.3 }}
  transition={{ duration: 0.5 }}
>
  <h2>Revealed on scroll</h2>
</motion.section>

AnimatePresence के साथ exit प्रॉप

exit कॉम्पोनेंट के अनमाउंट होने पर चलने वाला एनीमेशन तय करता है। यह केवल तब काम करता है जब कॉम्पोनेंट को <AnimatePresence> में लपेटा गया हो।

import { motion, AnimatePresence } from 'framer-motion';

<AnimatePresence>
  {isVisible && (
    <motion.div
      key="modal"
      initial={{ opacity: 0 }}
      animate={{ opacity: 1 }}
      exit={{ opacity: 0, scale: 0.95 }}
    />
  )}
</AnimatePresence>

अनिवार्य नियंत्रण के लिए useAnimate

useAnimate() एक scope रेफ़ और घोषणात्मक प्रॉप प्रणाली से बाहर प्रोग्राम के माध्यम से एनीमेशन नियंत्रित करने के लिए एक animate फ़ंक्शन लौटाता है।

import { useAnimate } from 'framer-motion';

function ShakeButton() {
  const [scope, animate] = useAnimate();
  const handleClick = async () => {
    await animate(scope.current, { x: [-10, 10, -10, 0] }, { duration: 0.3 });
  };
  return <motion.button ref={scope} onClick={handleClick}>Shake</motion.button>;
}

मोशन कम करना

useReducedMotion() हुक से उपयोगकर्ता की कम-मोशन प्राथमिकता का सम्मान करें।

import { useReducedMotion } from 'framer-motion';

function AnimatedCard() {
  const shouldReduce = useReducedMotion();
  return (
    <motion.div
      animate={{ opacity: 1, y: shouldReduce ? 0 : -20 }}
    />
  );
}

त्वरित जाँच

Framer Motion का कौन-सा प्रॉप वह एनीमेशन स्थिति तय करता है जहाँ कॉम्पोनेंट को पहुँचना चाहिए, यानी उसकी लक्ष्य स्थिति?

पुनरावलोकन

HTML एलिमेंट को motion.* समकक्षों से बदलें। शुरुआती स्थिति के लिए initial, लक्ष्य के लिए animate, समय-निर्धारण के लिए transition, जेस्चर के लिए whileHover/whileTap और स्क्रॉल से शुरू होने वाले एनीमेशन के लिए whileInView का उपयोग करें।

शुरुआत निःशुल्क

एआई शिक्षक के साथ React सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
88
पाठ
324

अक्सर पूछे जाने वाले प्रश्न

क्या “मोशन कंपोनेंट और बुनियादी एनिमेशन” पाठ निःशुल्क है?

हाँ—“मोशन कंपोनेंट और बुनियादी एनिमेशन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और React Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“मोशन कंपोनेंट और बुनियादी एनिमेशन” में मैं क्या सीखूँगा?

सरल एनिमेशन के लिए div को motion.div से बदलें और animate, initial तथा exit प्रॉप का उपयोग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ React Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या React Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर React Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“मोशन कंपोनेंट और बुनियादी एनिमेशन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस React Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर React Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. मोशन कंपोनेंट और बुनियादी एनिमेशन
  2. समन्वित एनिमेशन के लिए वैरिएंट
  3. जेस्चर एनिमेशन: होवर, टैप और ड्रैग
  4. लेआउट एनिमेशन और AnimatePresence
← React Academy पर वापस जाएँ