सभी कंपोनेंट
MotionSwap
ऐसी सामग्री जो क्रॉस-फ़ेड होती है जबकि आकार उसका पीछा करता है।
वेबReact Nativeसामग्री और आकार
आज़माएँ
सबसे छोटा इस्तेमाल
SaveButton.jsx<button onClick={save}>
<MotionSwap value={status} effect="up">
{status === 'saving' ? 'Saving…' : status === 'saved' ? 'Saved' : 'Save'}
</MotionSwap>
</button>;
यह आपके लिए क्या संभालता है
- एलिमेंट स्क्रीन पर अपने आकार से नई सामग्री के स्वाभाविक आकार तक बदलता है, इसलिए बटन कभी नहीं कूदते।
- पुरानी सामग्री अपनी जगह पर फीकी होती है जबकि नई उभरती है; स्वैप के दौरान कोई भी दोबारा नहीं बहती।
- स्वैप के बीच वापस बदलने पर प्रतियाँ जमा करने के बजाय स्क्रीन पर दिख रही स्थिति से आगे बढ़ता है।
- सादे टेक्स्ट वाले children अपना
value ख़ुद हैं; बाक़ी सब के लिए value दें।
इसके लिए इस्तेमाल करें
- सहेजें, फिर सहेजा जा रहा है…, फिर सहेजा गया।
- स्केलेटन जो प्रोफ़ाइल कार्ड बन जाता है।
- प्ले बटन जो पॉज़ बन जाता है।
Props
| Prop | टाइप | डिफ़ॉल्ट | विवरण |
|---|
value | unknown | | सामग्री की पहचान; नया मान स्वैप करता है। सादे टेक्स्ट वाले children अपनी पहचान ख़ुद हैं। |
|---|
children | ReactNode | | सामग्री। |
|---|
as | element | 'span' | रेंडर होने वाला एलिमेंट। |
|---|
inline | boolean | as === 'span' | true सामग्री के अनुसार आकार लेता है (लेबल, आइकन); false पैरेंट की चौड़ाई भरता है और ऊँचाई एनिमेट करता है। |
|---|
align | 'start' | 'center' | 'end' | 'center' | आकार बदलते समय सामग्री कहाँ रहती है। |
|---|
effect | 'fade' | 'up' | 'down' | 'scale' | 'fade' | सामग्री कैसे आती और जाती है: up उठती है, down गिरती है, scale बढ़ती है। |
|---|
transition | Transition | spring | timing वक्र { duration, easing } या स्प्रिंग { tempo: 'spring', spring }। रुकने पर स्प्रिंग अपनी गति बनाए रखते हैं। |
|---|
onMotionComplete | (value) => void | | गति ठहरने पर चलता है। |
|---|
बाक़ी props रेंडर होने वाले एलिमेंट को जाते हैं, इसलिए className, style और इवेंट हैंडलर सामान्य रूप से काम करते हैं।