फ़ंक्शन फ़ेचिंग
Intlayer आपको अपने सामग्री मॉड्यूल्स में सामग्री फ़ंक्शन्स घोषित करने की अनुमति देता है, जो या तो सिंक्रोनस या असिंक्रोनस हो सकते हैं। जब एप्लिकेशन बनता है, Intlayer इन फ़ंक्शन्स को निष्पादित करता है ताकि फ़ंक्शन का परिणाम प्राप्त किया जा सके। रिटर्न वैल्यू JSON ऑब्जेक्ट या एक साधारण मान जैसे स्ट्रिंग या नंबर होना चाहिए।
चेतावनी: फ़ंक्शन फ़ेचिंग वर्तमान में JSON सामग्री घोषणा और दूरस्थ सामग्री घोषणा फ़ाइलों में उपलब्ध नहीं है।
फ़ंक्शन घोषणाएँ
यहाँ एक साधारण सिंक्रोनस फ़ंक्शन फ़ेचिंग सामग्री का उदाहरण दिया गया है:
import type { Dictionary } from "intlayer";const functionContent = { key: "function_content", content: { text: () => "यह सामग्री एक फ़ंक्शन द्वारा प्रस्तुत की गई है", },} satisfies Dictionary;export default functionContent;
इस उदाहरण में, text कुंजी में एक फ़ंक्शन है जो एक स्ट्रिंग लौटाता है। इस सामग्री को आपके React घटकों में Intlayer के इंटरप्रेटर पैकेज जैसे react-intlayer का उपयोग करके प्रस्तुत किया जा सकता है।
असिंक्रोनस फ़ंक्शन फ़ेचिंग
सिंक्रोनस फ़ंक्शन्स के अलावा, Intlayer असिंक्रोनस फ़ंक्शन्स का समर्थन करता है, जिससे आप बाहरी स्रोतों से डेटा फ़ेच कर सकते हैं या मॉक डेटा के साथ डेटा पुनर्प्राप्ति का अनुकरण कर सकते हैं।
नीचे एक असिंक्रोनस फ़ंक्शन का उदाहरण दिया गया है जो सर्वर फ़ेच का अनुकरण करता है:
import { setTimeout } from "node:timers/promises";import type { Dictionary } from "intlayer";const fakeFetch = async (): Promise<string> => { // सर्वर से फ़ेच का अनुकरण करने के लिए 200ms प्रतीक्षा करें return await setTimeout(200).then(() => "यह सामग्री सर्वर से फ़ेच की गई है");};const asyncFunctionContent = { key: "async_function", content: { text: fakeFetch },} satisfies Dictionary;export default asyncFunctionContent;
इस मामले में, fakeFetch फ़ंक्शन एक विलंब का अनुकरण करता है ताकि सर्वर प्रतिक्रिया समय का अनुकरण किया जा सके। Intlayer असिंक्रोनस फ़ंक्शन को निष्पादित करता है और text कुंजी के लिए सामग्री के रूप में परिणाम का उपयोग करता है।
React घटकों में फ़ंक्शन-आधारित सामग्री का उपयोग करना
React घटक में फ़ंक्शन-आधारित सामग्री का उपयोग करने के लिए, आपको react-intlayer से useIntlayer आयात करने और सामग्री आईडी के साथ इसे कॉल करने की आवश्यकता है ताकि सामग्री पुनर्प्राप्त की जा सके। यहाँ एक उदाहरण है:
import type { FC } from "react";import { useIntlayer } from "react-intlayer";const MyComponent: FC = () => { const functionContent = useIntlayer("function_content"); const asyncFunctionContent = useIntlayer("async_function_content"); return ( <div> <p>{functionContent.text}</p> {/* आउटपुट: यह सामग्री एक फ़ंक्शन द्वारा प्रस्तुत की गई है */} <p>{asyncFunctionContent.text}</p> {/* आउटपुट: यह सामग्री सर्वर से फ़ेच की गई है */} </div> );};export default MyComponent;
अगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंक