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