कोई component तब suspend होता है जब वह ऐसा promise पढ़ता है जो अभी पूरा नहीं हुआ। React सबसे नजदीकी Suspense boundary तक ऊपर जाता है, promise पूरा होने तक उसका fallback दिखाता है, फिर असली सामग्री render करता है। React 19 में promise को use hook से पढ़ा जाता है, जो आम तौर पर किसी Server Component या cache में बनकर नीचे भेजा जाता है। Suspense loading की हालत का तालमेल बिठाता है; वह खुद कुछ fetch नहीं करता।
इंटरव्यूअर यह क्यों पूछते हैं
बहुत से लोग Suspense को loading spinner का लपेटा बता सकते हैं। इंटरव्यूअर जानना चाहते हैं कि आप मशीन समझते हैं या नहीं, कि suspend होना throw और दोबारा कोशिश वाला model है, और यह अहम बारीकी कि fetch करने का काम framework या library करती है। वे यह भी जांचते हैं कि आपको पता है कि boundaries कहां रखनी हैं ताकि कोई धीमा हिस्सा पूरे page को खाली न कर दे।
अपना जवाब कैसे स्ट्रक्चर करें
- बताएं कि suspend होने का मतलब क्या है और boundary क्या करती है।
- बताएं कि promise कहां से आना चाहिए और कहां से नहीं।
- boundary कहां रखनी है और streaming समझाएं।
- waterfall के खतरे का और उससे बचने का जिक्र करें।
उदाहरण जवाब
Suspense तालमेल बिठाने की मशीन है, कोई data की परत नहीं। जब कोई component ऐसा promise पढ़ता है जो पूरा नहीं हुआ, तो वह suspend हो जाता है, React उसके ऊपर सबसे नजदीकी boundary ढूंढता है, उसका fallback render करता है, और promise पूरा होने पर subtree दोबारा चलाता है। React 19 में उसे पढ़ने का तरीका use hook है, और अहम नियम यह है कि promise उसी component के render के दौरान नहीं बनना चाहिए जो use बुला रहा है, वरना आप हर कोशिश में नया promise बना देते हैं और वह कभी पूरा ही नहीं होता। तो व्यवहार में promise किसी Server Component में शुरू होता है या किसी cache से निकलकर नीचे भेजा जाता है। server की तरफ यह streaming के साथ जुड़ता है: shell तुरंत बाहर चला जाता है, और धीमे हिस्से अपना data आते ही stream होकर आते हैं। boundary कहां रखनी है इसके लिए मैं सबसे छोटी वह चीज लपेटने की कोशिश करता हूं जिसके लिए user skeleton देखना बर्दाश्त कर लेगा, ताकि कोई धीमा recommendations वाला हिस्सा product के ब्योरे को न रोके। जाल है एक के बाद एक await करके waterfall बना देना, तो मैं आजाद fetches को await करने से पहले साथ में शुरू कर देता हूं।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- जो component use बुलाता है, उसी के अंदर promise क्यों नहीं बनाना चाहिए?
- Suspense boundaries streaming server rendering के साथ कैसे बरतती हैं?
- एक दूसरे के अंदर बैठे components में request का waterfall कैसे टालते हैं?
React डेवलपर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें