यदि आप रिएक्ट नेटिव या रिएक्ट में नए हैं, तो आपने स्टेट और प्रॉप्स शब्द देखे होंगे। गतिशील और अनुकूलनीय मोबाइल एप्लिकेशन विकसित करने के लिए इन दोनों को समझना आवश्यक है। हम इस ब्लॉग आलेख में स्थिति और प्रॉप्स के बारे में गहराई से जानेंगे, उनके अंतरों की जांच करेंगे, और सीखेंगे कि आपके रिएक्ट नेटिव एप्लिकेशन में डेटा प्रवाह को प्रभावी ढंग से कैसे प्रबंधित किया जाए।
स्टेट एक अंतर्निहित ऑब्जेक्ट है जो घटकों को अपना डेटा बनाने और प्रबंधित करने की अनुमति देता है। इसमें ऐसी जानकारी होती है जो घटक के जीवनचक्र के दौरान बदल सकती है। जब भी स्थिति बदलती है, घटक उन परिवर्तनों को प्रतिबिंबित करने के लिए पुन: प्रस्तुत होता है।
प्रोप्स, प्रॉपर्टी का संक्षिप्त रूप, केवल-पढ़ने योग्य घटक हैं। वे एक घटक में पारित किए गए बाहरी पैरामीटर हैं, जैसे किसी फ़ंक्शन में तर्क कैसे पारित किए जाते हैं।
विशेषता | राज्य | प्रॉप्स |
---|---|---|
परिवर्तनशीलता | परिवर्तनशील (समय के साथ बदल सकता है) | अपरिवर्तनीय (केवल पढ़ने के लिए) |
दायरा | घटक के लिए स्थानीय | पैरेंट से चाइल्ड घटकों में पारित |
उद्देश्य | समय के साथ बदलने वाले डेटा को प्रबंधित करता है | बाहरी डेटा के साथ घटकों को कॉन्फ़िगर करता है |
अपडेट | अद्यतन किए जाने पर ट्रिगर पुनः प्रस्तुत होते हैं | पैरेंट में बदलने पर पुन: रेंडर ट्रिगर नहीं होता है |
स्टेट का उपयोग कब करना है और प्रॉप्स का उपयोग कब करना है यह समझना आपके ऐप में डेटा प्रवाह को प्रबंधित करने की कुंजी है।
प्रभावी डेटा प्रवाह प्रबंधन यह सुनिश्चित करता है कि आपका ऐप पूर्वानुमानित व्यवहार करता है और डीबग और रखरखाव करना आसान है।
रिएक्ट नेटिव एक यूनिडायरेक्शनल डेटा प्रवाह का उपयोग करता है। प्रॉप्स के माध्यम से डेटा पैरेंट से चाइल्ड घटकों तक चलता है। इससे डेटा प्रवाह को समझना और डीबग करना आसान हो जाता है।
जब एकाधिक घटकों को डेटा के एक ही टुकड़े तक पहुंच की आवश्यकता होती है, तो राज्य को निकटतम सामान्य पूर्वज तक उठाना सबसे अच्छा होता है। इस तरह, साझा स्थिति को प्रॉप्स के माध्यम से पारित किया जा सकता है।
चाइल्ड घटकों को मूल घटकों के साथ संचार करने की अनुमति देने के लिए, आप फ़ंक्शंस (कॉलबैक) को प्रॉप्स के रूप में पास कर सकते हैं। चाइल्ड घटक फिर माता-पिता को डेटा वापस भेजने के लिए इस फ़ंक्शन को कॉल कर सकता है।
आइए इन अवधारणाओं को स्पष्ट करने के लिए कुछ कोड उदाहरण देखें।
मूल घटक (App.js):
import React from 'react'; import { View } from 'react-native'; import Greeting from './Greeting'; const App = () => { return (); }; export default App;
बाल घटक (अभिवादन.जेएस):
import React from 'react'; import { Text } from 'react-native'; const Greeting = (props) => { returnHello {props.name} ; }; export default Greeting;
स्पष्टीकरण:
काउंटर घटक (काउंटर.जेएस):
import React, { useState } from 'react'; import { View, Button, Text } from 'react-native'; const Counter = () => { const [count, setCount] = useState(0); return (); }; export default Counter; You clicked {count} times
स्पष्टीकरण:
मूल घटक (तापमान कनवर्टर.जेएस):
import React, { useState } from 'react'; import { View } from 'react-native'; import TemperatureInput from './TemperatureInput'; const toCelsius = (fahrenheit) => ((fahrenheit - 32) * 5) / 9; const toFahrenheit = (celsius) => (celsius * 9) / 5 32; const TemperatureConverter = () => { const [temperature, setTemperature] = useState(''); const [scale, setScale] = useState('c'); const handleCelsiusChange = (temp) => { setScale('c'); setTemperature(temp); }; const handleFahrenheitChange = (temp) => { setScale('f'); setTemperature(temp); }; const celsius = scale === 'f' ? toCelsius(parseFloat(temperature)) : temperature; const fahrenheit = scale === 'c' ? toFahrenheit(parseFloat(temperature)) : temperature; return (); }; export default TemperatureConverter;
बाल घटक (TemperatureInput.js):
import React from 'react'; import { TextInput, Text } from 'react-native'; const scaleNames = { c: 'Celsius', f: 'Fahrenheit', }; const TemperatureInput = ({ scale, temperature, onTemperatureChange }) => { return (Enter temperature in {scaleNames[scale]}: > ); }; export default TemperatureInput;
स्पष्टीकरण:
स्टेटलेस घटकों का परीक्षण और डीबग करना आसान है। उन तक डेटा भेजने के लिए प्रॉप्स का उपयोग करें।
केवल आवश्यक होने पर ही राज्य का उपयोग करें। बहुत सारे स्टेटफुल घटक आपके ऐप को प्रबंधित करना कठिन बना सकते हैं।
कभी भी राज्य को सीधे रूप से परिवर्तित न करें। हमेशा setState या useState से अपडेटर फ़ंक्शन का उपयोग करें।
घटकों को दिए गए इच्छित प्रकार के गुणों का दस्तावेज़ीकरण करने के लिए PropTypes का उपयोग करें।
import PropTypes from 'prop-types'; Greeting.propTypes = { name: PropTypes.string.isRequired, };
विभिन्न नेस्टिंग स्तरों पर कई घटकों द्वारा पहुंच योग्य डेटा के लिए, कॉन्टेक्स्ट एपीआई का उपयोग करने पर विचार करें।
// Incorrect this.state.count = this.state.count 1; // Correct this.setState({ count: this.state.count 1 });
चाइल्ड घटकों को सीधे प्रॉप्स या मूल स्थिति को संशोधित करने का प्रयास नहीं करना चाहिए। कॉलबैक का उपयोग करें।
किसी भी रिएक्टिव नेटिव डेवलपर के लिए स्टेट और प्रॉप्स को समझना और प्रभावी ढंग से प्रबंधित करना आवश्यक है। इन अवधारणाओं में महारत हासिल करके, आप ऐसे एप्लिकेशन बनाने में सक्षम होंगे जो न केवल कार्यात्मक हैं बल्कि स्वच्छ, कुशल और रखरखाव योग्य भी हैं।
याद करना:
अपनी परियोजनाओं में इन अवधारणाओं का अभ्यास करने के लिए समय निकालें, और आप अपने विकास कार्यप्रवाह में एक महत्वपूर्ण सुधार देखेंगे।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3