नेक्स्ट के सर्वर एक्शन के साथ क्लाइंट से आपके सर्वर पर काम को ऑफलोड करना आसान है।
Next.js की 13.4 रिलीज़ एक स्थिर ऐप राउटर और सर्वर क्रियाओं के साथ डेटा म्यूटेशन करने की क्षमता के साथ आई थी। यह सुविधा पूरी तरह से गेम चेंजर है क्योंकि यह आपको पूरी तरह से सर्वर घटकों से डेटा म्यूटेशन करने की सुविधा देती है। इससे ऐप की गति, सुरक्षा और समग्र प्रदर्शन जैसे क्षेत्रों में कई लाभ मिलते हैं।
जानें कि सर्वर क्रियाएँ क्या हैं और अपने Next.js एप्लिकेशन में इस नई सुविधा का उपयोग कैसे करें।
सर्वर क्रियाएँ क्या हैं?
सर्वर क्रियाएँ आपको अपने सर्वर घटकों के साथ-साथ एक-ऑफ़ सर्वर-साइड फ़ंक्शंस लिखने की अनुमति देती हैं। यह बहुत बड़ा है क्योंकि अब आपको फॉर्म सबमिट करते समय या किसी अन्य प्रकार का डेटा म्यूटेशन करते समय एपीआई रूट लिखने की आवश्यकता नहीं है ग्राफक्यूएल डेटा उत्परिवर्तन.
आपके पास ऐसे फ़ंक्शन हो सकते हैं जो आपके सर्वर पर चलते हैं, और फिर आप उन्हें क्लाइंट या सर्वर घटकों से कॉल कर सकते हैं। यह Next.js 13.4 में एक अल्फा फीचर है, और इसे रिएक्ट एक्शन के शीर्ष पर बनाया गया है। सर्वर क्रियाओं का उपयोग करने से क्लाइंट-साइड जावास्क्रिप्ट कम हो जाती है, और आपको उत्तरोत्तर उन्नत फॉर्म बनाने में मदद मिल सकती है।
सर्वर क्रियाएँ उदाहरण
सर्वर क्रियाओं के साथ, आप सर्वर पर Next.js के अंदर म्यूटेशन कर सकते हैं। नेक्स्ट.जेएस पेज के उदाहरण के साथ इस नई सुविधा पर एक नज़र डालें जो आपको एक पोस्ट बनाने की अनुमति देने वाला एक फॉर्म प्रस्तुत करता है।
यहाँ आयात हैं:
आयात जोड़ना से"अगला/लिंक"
आयात फॉर्मग्रुप से"@/घटक/फॉर्मग्रुप"
आयात { पुनर्वैध टैग } से"अगला/कैश"
आयात {रीडायरेक्ट } से"अगला/नेविगेशन"
अब पोस्ट बनाने के लिए कोड की आवश्यकता है। यह फ़ंक्शन एक सर्वर क्रिया है; यह सर्वर पर चलता है और पोस्ट का शीर्षक और बॉडी एपीआई को भेजता है (जो डेटाबेस में पोस्ट बनाता है):
asyncसमारोहपोस्ट बनाएं(आंकड़े) {
"सर्वर का उपयोग करें"
कॉन्स्ट शीर्षक = डेटा.प्राप्त("शीर्षक")
कॉन्स्ट बॉडी = डेटा.गेट("शरीर")इंतजार लाना(" http://127.0.0.1/posts", {
शीर्षलेख: {"सामग्री प्रकार": "एप्लिकेशन/जेएसओएन"},
विधि: पोस्ट,
शरीर: JSON.stringify({शीर्षक, बॉडी})
})
पुनर्वैधीकरणटैग("पोस्ट")
रीडायरेक्ट("/")
}
इस फ़ंक्शन को पोस्ट शीर्षक और बॉडी मिलती है जिसे यह फिर भेजता है /posts POST अनुरोध के माध्यम से समापन बिंदु। इसके बाद यह कैश को "पोस्ट" टैग से जुड़ी सामग्री को ताज़ा करने के लिए मजबूर करता है, और होमपेज पर वापस रीडायरेक्ट करता है।
नया पोस्ट शीर्षक और मुख्य भाग एकत्र करने के लिए यहां एक फॉर्म है:
निर्यातगलती करना न्यूपोस्टफॉर्म() {
वापस करना (