From e6377a53d13bece80f0b4c5baed594d3ad494d4e Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Thu, 21 Mar 2019 16:43:58 -0400 Subject: [PATCH 01/22] Translating page Style and Lifecycle. --- content/docs/state-and-lifecycle.md | 241 ++++++++++++++-------------- 1 file changed, 122 insertions(+), 119 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index cbd8f684a..452586a05 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -1,6 +1,6 @@ --- id: state-and-lifecycle -title: State and Lifecycle +title: राज्य और जीवनचक्र permalink: docs/state-and-lifecycle.html redirect_from: - "docs/interactivity-and-dynamic-uis.html" @@ -8,16 +8,17 @@ prev: components-and-props.html next: handling-events.html --- -This page introduces the concept of state and lifecycle in a React component. You can find a [detailed component API reference here](/docs/react-component.html). +यह पृष्ठ एक प्रतिक्रिया घटक में स्थिति और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत घटक API संदर्भ पा सकते हैं](/docs/react-component.html)। -Consider the ticking clock example from [one of the previous sections](/docs/rendering-elements.html#updating-the-rendered-element). In [Rendering Elements](/docs/rendering-elements.html#rendering-an-element-into-the-dom), we have only learned one way to update the UI. We call `ReactDOM.render()` to change the rendered output: +[पिछले अनुभागों में से एक](/docs/rendering-elements.html#updating-the-rendered-element) से घड़ी के उदाहरण पर विचार करें। +[रेंडरइंड एलिमेंट्स](/docs/rendering-elements.html#rendering-an-element-into-the-dom) में हमने यूआई को अपडेट करने का केवल एक तरीका सीखा है। प्रदान किए गए आउटपुट को बदलने के लिए हम `ReactDOM.render ()` कहते हैं : ```js{8-11} -function tick() { - const element = ( +function टिक() { + const element = (
-

Hello, world!

-

It is {new Date().toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {new Date().toLocaleTimeString()}.

); ReactDOM.render( @@ -26,75 +27,75 @@ function tick() { ); } -setInterval(tick, 1000); +setInterval(टिक, 1000); ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/gwoJZk?editors=0010) -In this section, we will learn how to make the `Clock` component truly reusable and encapsulated. It will set up its own timer and update itself every second. +इस खंड में, हम सीखेंगे कि `क्लॉक` घटक को वास्तव में पुन: प्रयोज्य और समझाया कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। -We can start by encapsulating how the clock looks: +हम कैसे घड़ी लग रहा है encapsulating द्वारा शुरू कर सकते हैं: ```js{3-6,12} -function Clock(props) { +function क्लॉक(props) { return (
-

Hello, world!

-

It is {props.date.toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {props.date.toLocaleTimeString()} है।

); } -function tick() { +function टिक () { ReactDOM.render( - , + <क्लॉक date={new Date()} />, document.getElementById('root') ); } -setInterval(tick, 1000); +setInterval(टिक, 1000); ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/dpdoYR?editors=0010) -However, it misses a crucial requirement: the fact that the `Clock` sets up a timer and updates the UI every second should be an implementation detail of the `Clock`. +हालांकि, यह एक महत्वपूर्ण आवश्यकता को याद करता है: यह तथ्य कि `क्लॉक` एक टाइमर सेट करता है और यूआई को अपडेट करता है हर सेकंड` क्लॉक` का कार्यान्वयन विवरण होना चाहिए। -Ideally we want to write this once and have the `Clock` update itself: +आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और `क्लॉक` को स्वयं अपडेट करते हैं: ```js{2} ReactDOM.render( - , + <क्लॉक />, document.getElementById('root') ); ``` -To implement this, we need to add "state" to the `Clock` component. +इसे लागू करने के लिए, हमें `क्लॉक` घटक में" state "जोड़ना होगा। -State is similar to props, but it is private and fully controlled by the component. +State "प्रॉप्स" के समान है, लेकिन यह निजी और घटक द्वारा पूरी तरह से नियंत्रित है। -We [mentioned before](/docs/components-and-props.html#functional-and-class-components) that components defined as classes have some additional features. Local state is exactly that: a feature available only to classes. +हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि कक्षाओं के रूप में परिभाषित घटकों में कुछ अतिरिक्त विशेषताएं हैं। स्थानीय स्थिति ठीक यही है: एक सुविधा जो केवल कक्षाओं के लिए उपलब्ध है। -## Converting a Function to a Class {#converting-a-function-to-a-class} +## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} -You can convert a function component like `Clock` to a class in five steps: +आप `क्लॉक` जैसे फंक्शन कंपोनेंट को पांच चरणों में क्लास में बदल सकते हैं: -1. Create an [ES6 class](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes), with the same name, that extends `React.Component`. +1. एक ही नाम के साथ [ES6 वर्ग](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` का विस्तार करता है। -2. Add a single empty method to it called `render()`. +2. इसमें एक एकल खाली विधि जोड़ें, जिसे `Render()` कहा जाता है। -3. Move the body of the function into the `render()` method. +3. फ़ंक्शन के शरीर को `Render()` विधि में ले जाएँ। -4. Replace `props` with `this.props` in the `render()` body. +4. `Props` को `Render()` बॉडी में ` this.props` से बदलें। -5. Delete the remaining empty function declaration. +5. शेष खाली फ़ंक्शन घोषणा को हटा दें। ```js -class Clock extends React.Component { +class क्लॉक extends React.Component { render() { return (
-

Hello, world!

-

It is {this.props.date.toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {this.props.date.toLocaleTimeString()} है।

); } @@ -103,33 +104,33 @@ class Clock extends React.Component { [**Try it on CodePen**](https://codepen.io/gaearon/pen/zKRGpo?editors=0010) -`Clock` is now defined as a class rather than a function. +`क्लॉक` को अब एक फ़ंक्शन के बजाय एक वर्ग के रूप में परिभाषित किया गया है। -The `render` method will be called each time an update happens, but as long as we render `` into the same DOM node, only a single instance of the `Clock` class will be used. This lets us use additional features such as local state and lifecycle methods. +`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` <क्लॉक /> `को एक ही डोम नोड में रेंडर करते हैं, तब तक` क्लॉक` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय राज्य और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। -## Adding Local State to a Class {#adding-local-state-to-a-class} +## क्लास में स्थानीय राज्य जोड़ना {#adding-local-state-to-a-class} -We will move the `date` from props to state in three steps: +हम तीन चरणों में प्रॉप्स से `Date` को राज्य में स्थानांतरित करेंगे: -1) Replace `this.props.date` with `this.state.date` in the `render()` method: +1) `Render()` विधि में `this.props.date` को `this.state.date `के साथ बदलें: ```js{6} -class Clock extends React.Component { +class क्लॉक extends React.Component { render() { return (
-

Hello, world!

-

It is {this.state.date.toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {this.state.date.toLocaleTimeString()} है।

); } } ``` -2) Add a [class constructor](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes#Constructor) that assigns the initial `this.state`: +2) एक [class constructor](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes#Constructor) जोड़ें जो प्रारंभिक `this.state` को असाइन करता है: ```js{4} -class Clock extends React.Component { +class क्लॉक extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -138,15 +139,15 @@ class Clock extends React.Component { render() { return (
-

Hello, world!

-

It is {this.state.date.toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {this.state.date.toLocaleTimeString()} है।

); } } ``` -Note how we pass `props` to the base constructor: +ध्यान दें कि हम बेस constructor के लिए `props` कैसे पास करते हैं: ```js{2} constructor(props) { @@ -155,23 +156,23 @@ Note how we pass `props` to the base constructor: } ``` -Class components should always call the base constructor with `props`. +क्लास के घटकों को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। -3) Remove the `date` prop from the `` element: +3) `<क्लॉक />` तत्व से `date` प्रोप निकालें: ```js{2} ReactDOM.render( - , + <क्लॉक />, document.getElementById('root') ); ``` -We will later add the timer code back to the component itself. +हम बाद में टाइमर कोड को घटक में वापस जोड़ देंगे। -The result looks like this: +परिणाम इस तरह दिखता है: ```js{2-5,11,18} -class Clock extends React.Component { +class क्लॉक extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -180,35 +181,35 @@ class Clock extends React.Component { render() { return (
-

Hello, world!

-

It is {this.state.date.toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {this.state.date.toLocaleTimeString()} है।

); } } ReactDOM.render( - , + <क्लॉक />, document.getElementById('root') ); ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/KgQpJd?editors=0010) -Next, we'll make the `Clock` set up its own timer and update itself every second. +इसके बाद, हम `क्लॉक` को अपना टाइमर सेट करेंगे और हर सेकंड में खुद को अपडेट करेंगे। -## Adding Lifecycle Methods to a Class {#adding-lifecycle-methods-to-a-class} +## क्लास में जीवनचक्र की विधियाँ जोड़ना {#adding-lifecycle-methods-to-a-class} -In applications with many components, it's very important to free up resources taken by the components when they are destroyed. +कई घटकों के साथ अनुप्रयोगों में, जब वे नष्ट हो जाते हैं तो घटकों द्वारा लिए गए संसाधनों को मुक्त करना बहुत महत्वपूर्ण है। -We want to [set up a timer](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) whenever the `Clock` is rendered to the DOM for the first time. This is called "mounting" in React. +हम चाहते हैं कि जब भी `क्लॉक` को पहली बार DOM को प्रदान किया जाए तो एक [टाइमर सेट करें](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) । इसे रिएक्ट में "माउंटिंग" कहा जाता है। -We also want to [clear that timer](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) whenever the DOM produced by the `Clock` is removed. This is called "unmounting" in React. +हम यह भी चाहते हैं कि जब भी `क्लॉक` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को साफ़ कर दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। -We can declare special methods on the component class to run some code when a component mounts and unmounts: +हम घटक कोड पर कुछ तरीकों को चलाने के लिए विशेष तरीकों की घोषणा कर सकते हैं जब एक घटक माउंट करता है और अनमाउंट करता है: ```js{7-9,11-13} -class Clock extends React.Component { +class क्लॉक extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -225,32 +226,33 @@ class Clock extends React.Component { render() { return (
-

Hello, world!

-

It is {this.state.date.toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {this.state.date.toLocaleTimeString()} है।

); } } ``` -These methods are called "lifecycle methods". +इन विधियों को "जीवनचक्र विधियां" कहा जाता है। -The `componentDidMount()` method runs after the component output has been rendered to the DOM. This is a good place to set up a timer: +DOM के लिए कंपोनेंट आउटपुट दिए जाने के बाद `ComponentsDidMount ()` विधि चलती है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: ```js{2-5} componentDidMount() { this.timerID = setInterval( - () => this.tick(), + () => this.टिक(), 1000 ); } ``` -Note how we save the timer ID right on `this`. -While `this.props` is set up by React itself and `this.state` has a special meaning, you are free to add additional fields to the class manually if you need to store something that doesn’t participate in the data flow (like a timer ID). +ध्यान दें कि हम टाइमर आईडी को `this` पर सही तरीके से सहेजते हैं। -We will tear down the timer in the `componentWillUnmount()` lifecycle method: +जबकि `this.props` को React द्वारा स्थापित किया गया है और` this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप वर्ग में अतिरिक्त फ़ील्ड जोड़ने के लिए स्वतंत्र हैं (एक टाइमर आईडी की तरह)। + +हम `componentWillUnmount()` जीवनचक्र विधि में टाइमर को फाड़ देंगे: ```js{2} componentWillUnmount() { @@ -258,12 +260,12 @@ We will tear down the timer in the `componentWillUnmount()` lifecycle method: } ``` -Finally, we will implement a method called `tick()` that the `Clock` component will run every second. +अंत में, हम `टिक ()` नामक एक विधि को लागू करेंगे कि `क्लॉक` घटक हर सेकंड चलेगा। -It will use `this.setState()` to schedule updates to the component local state: +यह घटक स्थानीय स्थिति के अपडेट को शेड्यूल करने के लिए `this.setState ()` का उपयोग करेगा: ```js{18-22} -class Clock extends React.Component { +class क्लॉक extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -271,7 +273,7 @@ class Clock extends React.Component { componentDidMount() { this.timerID = setInterval( - () => this.tick(), + () => this.टिक(), 1000 ); } @@ -280,7 +282,7 @@ class Clock extends React.Component { clearInterval(this.timerID); } - tick() { + टिक() { this.setState({ date: new Date() }); @@ -289,64 +291,64 @@ class Clock extends React.Component { render() { return (
-

Hello, world!

-

It is {this.state.date.toLocaleTimeString()}.

+

नमस्ते, दुनिया!

+

यह {this.state.date.toLocaleTimeString()} है।

); } } ReactDOM.render( - , + <क्लॉक />, document.getElementById('root') ); ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/amqdNA?editors=0010) -Now the clock ticks every second. +अब घड़ी हर सेकंड टिक जाती है। -Let's quickly recap what's going on and the order in which the methods are called: +आइए जल्दी से फिर से तैयार करें कि क्या हो रहा है और किस क्रम में विधियाँ कहलाती हैं -1) When `` is passed to `ReactDOM.render()`, React calls the constructor of the `Clock` component. Since `Clock` needs to display the current time, it initializes `this.state` with an object including the current time. We will later update this state. +1) जब `<क्लॉक />` `ReactDOM.render ()` को दिया जाता है, तो रिएक्ट `क्लॉक` घटक के निर्माता को बुलाता है। चूँकि `क्लॉक` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस स्थिति को अपडेट करेंगे। -2) React then calls the `Clock` component's `render()` method. This is how React learns what should be displayed on the screen. React then updates the DOM to match the `Clock`'s render output. +2) प्रतिक्रिया तब `क्लॉक` घटक के` Render () `विधि कहते हैं। यह कैसे प्रतिक्रिया स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `क्लॉक` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) When the `Clock` output is inserted in the DOM, React calls the `componentDidMount()` lifecycle method. Inside it, the `Clock` component asks the browser to set up a timer to call the component's `tick()` method once a second. +3) जब DOM में `क्लॉक` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount () `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `क्लॉक` घटक एक सेकंड में एक बार घटक के` टिक () `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। -4) Every second the browser calls the `tick()` method. Inside it, the `Clock` component schedules a UI update by calling `setState()` with an object containing the current time. Thanks to the `setState()` call, React knows the state has changed, and calls the `render()` method again to learn what should be on the screen. This time, `this.state.date` in the `render()` method will be different, and so the render output will include the updated time. React updates the DOM accordingly. +4) हर सेकंड ब्राउज़र `टिक ()` विधि कहता है। इसके अंदर, `क्लॉक` घटक वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, प्रतिक्रिया जानता है कि स्थिति बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। प्रतिक्रिया तदनुसार DOM को अपडेट करता है। -5) If the `Clock` component is ever removed from the DOM, React calls the `componentWillUnmount()` lifecycle method so the timer is stopped. +5) यदि DOM से `क्लॉक` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र विधि को कॉल करता है ताकि टाइमर बंद हो जाए। -## Using State Correctly {#using-state-correctly} +## सही ढंग से state का उपयोग करना {#using-state-correctly} -There are three things you should know about `setState()`. +`SetState()` के बारे में आपको तीन बातें पता होनी चाहिए। -### Do Not Modify State Directly {#do-not-modify-state-directly} +### सीधे state को संशोधित न करें {#do-not-modify-state-directly} -For example, this will not re-render a component: +उदाहरण के लिए, यह एक घटक को फिर से प्रस्तुत नहीं करेगा: ```js // Wrong -this.state.comment = 'Hello'; +this.state.comment = 'नमस्ते'; ``` -Instead, use `setState()`: +इसके बजाय, `setState ()` का उपयोग करें: ```js // Correct -this.setState({comment: 'Hello'}); +this.setState({comment: 'नमस्ते'}); ``` -The only place where you can assign `this.state` is the constructor. +एकमात्र जगह जहां आप `this.state` को असाइन कर सकते हैं, वह है कंस्ट्रक्टर। -### State Updates May Be Asynchronous {#state-updates-may-be-asynchronous} +### State अपडेट्स असिंक्रोनस हो सकते हैं {#state-updates-may-be-asynchronous} -React may batch multiple `setState()` calls into a single update for performance. +प्रतिक्रिया एक ही अपडेट में कई `setState ()` कॉल को बैच सकता है। -Because `this.props` and `this.state` may be updated asynchronously, you should not rely on their values for calculating the next state. +क्योंकि `this.props` और` this.state` को एसिंक्रोनस रूप से अपडेट किया जा सकता है, आपको अगले राज्य की गणना के लिए उनके मूल्यों पर भरोसा नहीं करना चाहिए। -For example, this code may fail to update the counter: +उदाहरण के लिए, यह कोड काउंटर को अपडेट करने में विफल हो सकता है: ```js // Wrong @@ -355,7 +357,7 @@ this.setState({ }); ``` -To fix it, use a second form of `setState()` that accepts a function rather than an object. That function will receive the previous state as the first argument, and the props at the time the update is applied as the second argument: +इसे ठीक करने के लिए, `setState ()` के दूसरे रूप का उपयोग करें, जो एक वस्तु के बजाय एक फ़ंक्शन को स्वीकार करता है। वह फ़ंक्शन पिछली स्थिति को पहले तर्क के रूप में प्राप्त करेगा, और उस समय के अपडेट के बाद दूसरा तर्क के रूप में लागू होता है: ```js // Correct @@ -364,7 +366,7 @@ this.setState((state, props) => ({ })); ``` -We used an [arrow function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) above, but it also works with regular functions: +हमने ऊपर एक [एरो फंक्शन](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) इस्तेमाल किया, लेकिन यह नियमित कार्यों के साथ भी काम करता है: ```js // Correct @@ -375,11 +377,11 @@ this.setState(function(state, props) { }); ``` -### State Updates are Merged {#state-updates-are-merged} +### State अपडेट्स मर्ज किए गए हैं {#state-updates-are-merged} -When you call `setState()`, React merges the object you provide into the current state. +जब आप `setState ()` कहते हैं, तो प्रतिक्रिया आपके द्वारा वर्तमान स्थिति में प्रदान की गई वस्तु को मर्ज कर देती है। -For example, your state may contain several independent variables: +उदाहरण के लिए, आपके राज्य में कई स्वतंत्र चर हो सकते हैं: ```js{4,5} constructor(props) { @@ -391,7 +393,7 @@ For example, your state may contain several independent variables: } ``` -Then you can update them independently with separate `setState()` calls: +फिर आप उन्हें अलग-अलग `setState ()` कॉल के साथ स्वतंत्र रूप से अपडेट कर सकते हैं: ```js{4,10} componentDidMount() { @@ -409,49 +411,49 @@ Then you can update them independently with separate `setState()` calls: } ``` -The merging is shallow, so `this.setState({comments})` leaves `this.state.posts` intact, but completely replaces `this.state.comments`. +विलय उथला है, इसलिए `this.setState ({comments})` को `this.state.posts` बरकरार रखता है, लेकिन पूरी तरह से` this.state.comments` को बदल देता है। -## The Data Flows Down {#the-data-flows-down} +## डेटा नीचे बहती है {#the-data-flows-down} -Neither parent nor child components can know if a certain component is stateful or stateless, and they shouldn't care whether it is defined as a function or a class. +यदि कोई निश्चित घटक स्टेटफुल या स्टेटलेस है, तो न तो माता-पिता और न ही बच्चे घटकों को पता चल सकता है, और उन्हें परवाह नहीं करनी चाहिए कि क्या यह एक फ़ंक्शन या वर्ग के रूप में परिभाषित किया गया है। -This is why state is often called local or encapsulated. It is not accessible to any component other than the one that owns and sets it. +यही कारण है कि राज्य को अक्सर स्थानीय या समझाया जाता है। यह किसी भी घटक के अलावा अन्य के लिए सुलभ नहीं है जो इसका मालिक है और इसे सेट करता है। -A component may choose to pass its state down as props to its child components: +एक घटक अपने राज्य को अपने बाल घटकों के लिए सहारा के रूप में पारित करने का विकल्प चुन सकता है: ```js -

It is {this.state.date.toLocaleTimeString()}.

+

यह {this.state.date.toLocaleTimeString()}है।

``` -This also works for user-defined components: +यह उपयोगकर्ता द्वारा परिभाषित घटकों के लिए भी काम करता है: ```js ``` -The `FormattedDate` component would receive the `date` in its props and wouldn't know whether it came from the `Clock`'s state, from the `Clock`'s props, or was typed by hand: +`FormattedDate` घटक को उसके प्रॉप्स में` date `प्राप्त होगी और यह नहीं पता चलेगा कि वह `क्लॉक` के राज्य से आया है,` क्लॉक` के प्रॉप्स से, या हाथ से टाइप किया गया था: ```js function FormattedDate(props) { - return

It is {props.date.toLocaleTimeString()}.

; + return

यह {props.date.toLocaleTimeString()}है।

; } ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/zKRqNB?editors=0010) -This is commonly called a "top-down" or "unidirectional" data flow. Any state is always owned by some specific component, and any data or UI derived from that state can only affect components "below" them in the tree. +इसे आमतौर पर "टॉप-डाउन" या "यूनिडायरेक्शनल" डेटा प्रवाह कहा जाता है। कोई भी राज्य हमेशा कुछ विशिष्ट घटक के स्वामित्व में होता है, और उस राज्य से प्राप्त कोई भी डेटा या UI केवल पेड़ में "नीचे" घटकों को प्रभावित कर सकता है। -If you imagine a component tree as a waterfall of props, each component's state is like an additional water source that joins it at an arbitrary point but also flows down. +यदि आप एक घटक के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक घटक की स्थिति एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। -To show that all components are truly isolated, we can create an `App` component that renders three ``s: +यह दर्शाने के लिए कि सभी घटक वास्तव में अलग-थलग हैं, हम एक `App` घटक बना सकते हैं जो तीन` <क्लॉक> `s प्रदान करता है: ```js{4-6} function App() { return (
- - - + <क्लॉक /> + <क्लॉक /> + <क्लॉक />
); } @@ -464,6 +466,7 @@ ReactDOM.render( [**Try it on CodePen**](https://codepen.io/gaearon/pen/vXdGmd?editors=0010) -Each `Clock` sets up its own timer and updates independently. +प्रत्येक `क्लॉक` अपने टाइमर और स्वतंत्र रूप से अपडेट करता है। + +रिएक्ट ऐप्स में, चाहे कोई घटक स्टेटफुल हो या स्टेटलेस, उस घटक का कार्यान्वयन विवरण माना जाता है जो समय के साथ बदल सकता है। आप स्टेटफुल घटकों के अंदर स्टेटलेस घटकों का उपयोग कर सकते हैं, और इसके विपरीत। -In React apps, whether a component is stateful or stateless is considered an implementation detail of the component that may change over time. You can use stateless components inside stateful components, and vice versa. From 9847f690680abf1b9d3c3fc53293ebbb01d88865 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Thu, 21 Mar 2019 23:08:48 -0400 Subject: [PATCH 02/22] Correcting errors. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. राज्य => State 2. प्रतिक्रिया => React 3. घटक => कौम्पोनॅन्ट --- content/docs/state-and-lifecycle.md | 62 ++++++++++++++--------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 452586a05..7b37b7b7e 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -1,6 +1,6 @@ --- id: state-and-lifecycle -title: राज्य और जीवनचक्र +title: State और जीवनचक्र permalink: docs/state-and-lifecycle.html redirect_from: - "docs/interactivity-and-dynamic-uis.html" @@ -8,7 +8,7 @@ prev: components-and-props.html next: handling-events.html --- -यह पृष्ठ एक प्रतिक्रिया घटक में स्थिति और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत घटक API संदर्भ पा सकते हैं](/docs/react-component.html)। +यह पृष्ठ एक React कौम्पोनॅन्ट में स्थिति और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत कौम्पोनॅन्ट API संदर्भ पा सकते हैं](/docs/react-component.html)। [पिछले अनुभागों में से एक](/docs/rendering-elements.html#updating-the-rendered-element) से घड़ी के उदाहरण पर विचार करें। [रेंडरइंड एलिमेंट्स](/docs/rendering-elements.html#rendering-an-element-into-the-dom) में हमने यूआई को अपडेट करने का केवल एक तरीका सीखा है। प्रदान किए गए आउटपुट को बदलने के लिए हम `ReactDOM.render ()` कहते हैं : @@ -32,7 +32,7 @@ setInterval(टिक, 1000); [**Try it on CodePen**](https://codepen.io/gaearon/pen/gwoJZk?editors=0010) -इस खंड में, हम सीखेंगे कि `क्लॉक` घटक को वास्तव में पुन: प्रयोज्य और समझाया कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। +इस खंड में, हम सीखेंगे कि `क्लॉक` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और समझाया कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। हम कैसे घड़ी लग रहा है encapsulating द्वारा शुरू कर सकते हैं: @@ -69,11 +69,11 @@ ReactDOM.render( ); ``` -इसे लागू करने के लिए, हमें `क्लॉक` घटक में" state "जोड़ना होगा। +इसे लागू करने के लिए, हमें `क्लॉक` कौम्पोनॅन्ट में" state "जोड़ना होगा। -State "प्रॉप्स" के समान है, लेकिन यह निजी और घटक द्वारा पूरी तरह से नियंत्रित है। +State "प्रॉप्स" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। -हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि कक्षाओं के रूप में परिभाषित घटकों में कुछ अतिरिक्त विशेषताएं हैं। स्थानीय स्थिति ठीक यही है: एक सुविधा जो केवल कक्षाओं के लिए उपलब्ध है। +हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि कक्षाओं के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। स्थानीय स्थिति ठीक यही है: एक सुविधा जो केवल कक्षाओं के लिए उपलब्ध है। ## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} @@ -106,11 +106,11 @@ class क्लॉक extends React.Component { `क्लॉक` को अब एक फ़ंक्शन के बजाय एक वर्ग के रूप में परिभाषित किया गया है। -`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` <क्लॉक /> `को एक ही डोम नोड में रेंडर करते हैं, तब तक` क्लॉक` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय राज्य और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। +`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` <क्लॉक /> `को एक ही डोम नोड में रेंडर करते हैं, तब तक` क्लॉक` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। -## क्लास में स्थानीय राज्य जोड़ना {#adding-local-state-to-a-class} +## क्लास में स्थानीय state जोड़ना {#adding-local-state-to-a-class} -हम तीन चरणों में प्रॉप्स से `Date` को राज्य में स्थानांतरित करेंगे: +हम तीन चरणों में प्रॉप्स से `Date` को state में स्थानांतरित करेंगे: 1) `Render()` विधि में `this.props.date` को `this.state.date `के साथ बदलें: @@ -167,7 +167,7 @@ ReactDOM.render( ); ``` -हम बाद में टाइमर कोड को घटक में वापस जोड़ देंगे। +हम बाद में टाइमर कोड को कौम्पोनॅन्ट में वापस जोड़ देंगे। परिणाम इस तरह दिखता है: @@ -200,13 +200,13 @@ ReactDOM.render( ## क्लास में जीवनचक्र की विधियाँ जोड़ना {#adding-lifecycle-methods-to-a-class} -कई घटकों के साथ अनुप्रयोगों में, जब वे नष्ट हो जाते हैं तो घटकों द्वारा लिए गए संसाधनों को मुक्त करना बहुत महत्वपूर्ण है। +कई कौम्पोनॅन्ट के साथ अनुप्रयोगों में, जब वे नष्ट हो जाते हैं तो कौम्पोनॅन्ट द्वारा लिए गए संसाधनों को मुक्त करना बहुत महत्वपूर्ण है। हम चाहते हैं कि जब भी `क्लॉक` को पहली बार DOM को प्रदान किया जाए तो एक [टाइमर सेट करें](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) । इसे रिएक्ट में "माउंटिंग" कहा जाता है। हम यह भी चाहते हैं कि जब भी `क्लॉक` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को साफ़ कर दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। -हम घटक कोड पर कुछ तरीकों को चलाने के लिए विशेष तरीकों की घोषणा कर सकते हैं जब एक घटक माउंट करता है और अनमाउंट करता है: +हम कौम्पोनॅन्ट कोड पर कुछ तरीकों को चलाने के लिए विशेष तरीकों की घोषणा कर सकते हैं जब एक कौम्पोनॅन्ट माउंट करता है और अनमाउंट करता है: ```js{7-9,11-13} class क्लॉक extends React.Component { @@ -260,9 +260,9 @@ DOM के लिए कंपोनेंट आउटपुट दिए ज } ``` -अंत में, हम `टिक ()` नामक एक विधि को लागू करेंगे कि `क्लॉक` घटक हर सेकंड चलेगा। +अंत में, हम `टिक ()` नामक एक विधि को लागू करेंगे कि `क्लॉक` कौम्पोनॅन्ट हर सेकंड चलेगा। -यह घटक स्थानीय स्थिति के अपडेट को शेड्यूल करने के लिए `this.setState ()` का उपयोग करेगा: +यह कौम्पोनॅन्ट स्थानीय स्थिति के अपडेट को शेड्यूल करने के लिए `this.setState ()` का उपयोग करेगा: ```js{18-22} class क्लॉक extends React.Component { @@ -310,13 +310,13 @@ ReactDOM.render( आइए जल्दी से फिर से तैयार करें कि क्या हो रहा है और किस क्रम में विधियाँ कहलाती हैं -1) जब `<क्लॉक />` `ReactDOM.render ()` को दिया जाता है, तो रिएक्ट `क्लॉक` घटक के निर्माता को बुलाता है। चूँकि `क्लॉक` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस स्थिति को अपडेट करेंगे। +1) जब `<क्लॉक />` `ReactDOM.render ()` को दिया जाता है, तो रिएक्ट `क्लॉक` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `क्लॉक` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस स्थिति को अपडेट करेंगे। -2) प्रतिक्रिया तब `क्लॉक` घटक के` Render () `विधि कहते हैं। यह कैसे प्रतिक्रिया स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `क्लॉक` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। +2) React तब `क्लॉक` कौम्पोनॅन्ट के` Render () `विधि कहते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `क्लॉक` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) जब DOM में `क्लॉक` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount () `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `क्लॉक` घटक एक सेकंड में एक बार घटक के` टिक () `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। +3) जब DOM में `क्लॉक` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount () `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के` टिक () `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। -4) हर सेकंड ब्राउज़र `टिक ()` विधि कहता है। इसके अंदर, `क्लॉक` घटक वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, प्रतिक्रिया जानता है कि स्थिति बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। प्रतिक्रिया तदनुसार DOM को अपडेट करता है। +4) हर सेकंड ब्राउज़र `टिक ()` विधि कहता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि स्थिति बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। 5) यदि DOM से `क्लॉक` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र विधि को कॉल करता है ताकि टाइमर बंद हो जाए। @@ -326,7 +326,7 @@ ReactDOM.render( ### सीधे state को संशोधित न करें {#do-not-modify-state-directly} -उदाहरण के लिए, यह एक घटक को फिर से प्रस्तुत नहीं करेगा: +उदाहरण के लिए, यह एक कौम्पोनॅन्ट को फिर से प्रस्तुत नहीं करेगा: ```js // Wrong @@ -344,7 +344,7 @@ this.setState({comment: 'नमस्ते'}); ### State अपडेट्स असिंक्रोनस हो सकते हैं {#state-updates-may-be-asynchronous} -प्रतिक्रिया एक ही अपडेट में कई `setState ()` कॉल को बैच सकता है। +React एक ही अपडेट में कई `setState ()` कॉल को बैच सकता है। क्योंकि `this.props` और` this.state` को एसिंक्रोनस रूप से अपडेट किया जा सकता है, आपको अगले राज्य की गणना के लिए उनके मूल्यों पर भरोसा नहीं करना चाहिए। @@ -379,9 +379,9 @@ this.setState(function(state, props) { ### State अपडेट्स मर्ज किए गए हैं {#state-updates-are-merged} -जब आप `setState ()` कहते हैं, तो प्रतिक्रिया आपके द्वारा वर्तमान स्थिति में प्रदान की गई वस्तु को मर्ज कर देती है। +जब आप `setState ()` कहते हैं, तो React आपके द्वारा वर्तमान स्थिति में प्रदान की गई वस्तु को मर्ज कर देती है। -उदाहरण के लिए, आपके राज्य में कई स्वतंत्र चर हो सकते हैं: +उदाहरण के लिए, आपके state में कई स्वतंत्र चर हो सकते हैं: ```js{4,5} constructor(props) { @@ -415,23 +415,23 @@ this.setState(function(state, props) { ## डेटा नीचे बहती है {#the-data-flows-down} -यदि कोई निश्चित घटक स्टेटफुल या स्टेटलेस है, तो न तो माता-पिता और न ही बच्चे घटकों को पता चल सकता है, और उन्हें परवाह नहीं करनी चाहिए कि क्या यह एक फ़ंक्शन या वर्ग के रूप में परिभाषित किया गया है। +यदि कोई निश्चित कौम्पोनॅन्ट स्टेटफुल या स्टेटलेस है, तो न तो माता-पिता और न ही बच्चे कौम्पोनॅन्ट को पता चल सकता है, और उन्हें परवाह नहीं करनी चाहिए कि क्या यह एक फ़ंक्शन या वर्ग के रूप में परिभाषित किया गया है। -यही कारण है कि राज्य को अक्सर स्थानीय या समझाया जाता है। यह किसी भी घटक के अलावा अन्य के लिए सुलभ नहीं है जो इसका मालिक है और इसे सेट करता है। +यही कारण है कि state को अक्सर स्थानीय या समझाया जाता है। यह किसी भी कौम्पोनॅन्ट के अलावा अन्य के लिए सुलभ नहीं है जो इसका मालिक है और इसे सेट करता है। -एक घटक अपने राज्य को अपने बाल घटकों के लिए सहारा के रूप में पारित करने का विकल्प चुन सकता है: +एक कौम्पोनॅन्ट अपने state को अपने बाल कौम्पोनॅन्ट के लिए सहारा के रूप में पारित करने का विकल्प चुन सकता है: ```js

यह {this.state.date.toLocaleTimeString()}है।

``` -यह उपयोगकर्ता द्वारा परिभाषित घटकों के लिए भी काम करता है: +यह उपयोगकर्ता द्वारा परिभाषित कौम्पोनॅन्ट के लिए भी काम करता है: ```js ``` -`FormattedDate` घटक को उसके प्रॉप्स में` date `प्राप्त होगी और यह नहीं पता चलेगा कि वह `क्लॉक` के राज्य से आया है,` क्लॉक` के प्रॉप्स से, या हाथ से टाइप किया गया था: +`FormattedDate` कौम्पोनॅन्ट को उसके प्रॉप्स में` date `प्राप्त होगी और यह नहीं पता चलेगा कि वह `क्लॉक` के state से आया है,` क्लॉक` के प्रॉप्स से, या हाथ से टाइप किया गया था: ```js function FormattedDate(props) { @@ -441,11 +441,11 @@ function FormattedDate(props) { [**Try it on CodePen**](https://codepen.io/gaearon/pen/zKRqNB?editors=0010) -इसे आमतौर पर "टॉप-डाउन" या "यूनिडायरेक्शनल" डेटा प्रवाह कहा जाता है। कोई भी राज्य हमेशा कुछ विशिष्ट घटक के स्वामित्व में होता है, और उस राज्य से प्राप्त कोई भी डेटा या UI केवल पेड़ में "नीचे" घटकों को प्रभावित कर सकता है। +इसे आमतौर पर "टॉप-डाउन" या "यूनिडायरेक्शनल" डेटा प्रवाह कहा जाता है। कोई भी state हमेशा कुछ विशिष्ट कौम्पोनॅन्ट के स्वामित्व में होता है, और उस state से प्राप्त कोई भी डेटा या UI केवल पेड़ में "नीचे" कौम्पोनॅन्ट को प्रभावित कर सकता है। -यदि आप एक घटक के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक घटक की स्थिति एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। +यदि आप एक कौम्पोनॅन्ट के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की स्थिति एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। -यह दर्शाने के लिए कि सभी घटक वास्तव में अलग-थलग हैं, हम एक `App` घटक बना सकते हैं जो तीन` <क्लॉक> `s प्रदान करता है: +यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन` <क्लॉक> `s प्रदान करता है: ```js{4-6} function App() { @@ -468,5 +468,5 @@ ReactDOM.render( प्रत्येक `क्लॉक` अपने टाइमर और स्वतंत्र रूप से अपडेट करता है। -रिएक्ट ऐप्स में, चाहे कोई घटक स्टेटफुल हो या स्टेटलेस, उस घटक का कार्यान्वयन विवरण माना जाता है जो समय के साथ बदल सकता है। आप स्टेटफुल घटकों के अंदर स्टेटलेस घटकों का उपयोग कर सकते हैं, और इसके विपरीत। +रिएक्ट ऐप्स में, चाहे कोई कौम्पोनॅन्ट स्टेटफुल हो या स्टेटलेस, उस कौम्पोनॅन्ट का कार्यान्वयन विवरण माना जाता है जो समय के साथ बदल सकता है। आप स्टेटफुल कौम्पोनॅन्ट के अंदर स्टेटलेस कौम्पोनॅन्ट का उपयोग कर सकते हैं, और इसके विपरीत। From 3bb784e0d750de6d0d8a62f7d07f9c59853087dc Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Thu, 21 Mar 2019 23:28:49 -0400 Subject: [PATCH 03/22] Correcting errors --- content/docs/state-and-lifecycle.md | 40 +++++++++++++++-------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 7b37b7b7e..b100d127a 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -8,10 +8,9 @@ prev: components-and-props.html next: handling-events.html --- -यह पृष्ठ एक React कौम्पोनॅन्ट में स्थिति और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत कौम्पोनॅन्ट API संदर्भ पा सकते हैं](/docs/react-component.html)। +यह पृष्ठ एक React कौम्पोनॅन्ट में state और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत कौम्पोनॅन्ट API संदर्भ](/docs/react-component.html)पा सकते हैं। -[पिछले अनुभागों में से एक](/docs/rendering-elements.html#updating-the-rendered-element) से घड़ी के उदाहरण पर विचार करें। -[रेंडरइंड एलिमेंट्स](/docs/rendering-elements.html#rendering-an-element-into-the-dom) में हमने यूआई को अपडेट करने का केवल एक तरीका सीखा है। प्रदान किए गए आउटपुट को बदलने के लिए हम `ReactDOM.render ()` कहते हैं : +[पिछले अनुभागों में से एक](/docs/rendering-elements.html#updating-the-rendered-element) घड़ी के उदाहरण पर विचार करें। [रेंडरिंग एलिमेंट्स](/docs/rendering-elements.html#rendering-an-element-into-the-dom) में हमने UI को अपडेट करने का केवल एक तरीका सीखा है। प्रदान किए गए आउटपुट को बदलने के लिए हम `ReactDOM.render()` को कॉल करते हैं : ```js{8-11} function टिक() { @@ -30,6 +29,9 @@ function टिक() { setInterval(टिक, 1000); ``` + + + [**Try it on CodePen**](https://codepen.io/gaearon/pen/gwoJZk?editors=0010) इस खंड में, हम सीखेंगे कि `क्लॉक` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और समझाया कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। @@ -58,7 +60,7 @@ setInterval(टिक, 1000); [**Try it on CodePen**](https://codepen.io/gaearon/pen/dpdoYR?editors=0010) -हालांकि, यह एक महत्वपूर्ण आवश्यकता को याद करता है: यह तथ्य कि `क्लॉक` एक टाइमर सेट करता है और यूआई को अपडेट करता है हर सेकंड` क्लॉक` का कार्यान्वयन विवरण होना चाहिए। +हालांकि, यह एक महत्वपूर्ण आवश्यकता को याद करता है: यह तथ्य कि `क्लॉक` एक टाइमर सेट करता है और UI को अपडेट करता है हर सेकंड` क्लॉक` का कार्यान्वयन विवरण होना चाहिए। आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और `क्लॉक` को स्वयं अपडेट करते हैं: @@ -73,7 +75,7 @@ ReactDOM.render( State "प्रॉप्स" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। -हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि कक्षाओं के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। स्थानीय स्थिति ठीक यही है: एक सुविधा जो केवल कक्षाओं के लिए उपलब्ध है। +हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि कक्षाओं के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। स्थानीय state ठीक यही है: एक सुविधा जो केवल कक्षाओं के लिए उपलब्ध है। ## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} @@ -236,7 +238,7 @@ class क्लॉक extends React.Component { इन विधियों को "जीवनचक्र विधियां" कहा जाता है। -DOM के लिए कंपोनेंट आउटपुट दिए जाने के बाद `ComponentsDidMount ()` विधि चलती है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: +DOM के लिए कंपोनेंट आउटपुट दिए जाने के बाद `ComponentsDidMount()` विधि चलती है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: ```js{2-5} componentDidMount() { @@ -262,7 +264,7 @@ DOM के लिए कंपोनेंट आउटपुट दिए ज अंत में, हम `टिक ()` नामक एक विधि को लागू करेंगे कि `क्लॉक` कौम्पोनॅन्ट हर सेकंड चलेगा। -यह कौम्पोनॅन्ट स्थानीय स्थिति के अपडेट को शेड्यूल करने के लिए `this.setState ()` का उपयोग करेगा: +यह कौम्पोनॅन्ट स्थानीय state के अपडेट को शेड्यूल करने के लिए `this.setState()` का उपयोग करेगा: ```js{18-22} class क्लॉक extends React.Component { @@ -310,13 +312,13 @@ ReactDOM.render( आइए जल्दी से फिर से तैयार करें कि क्या हो रहा है और किस क्रम में विधियाँ कहलाती हैं -1) जब `<क्लॉक />` `ReactDOM.render ()` को दिया जाता है, तो रिएक्ट `क्लॉक` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `क्लॉक` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस स्थिति को अपडेट करेंगे। +1) जब `<क्लॉक />` `ReactDOM.render()` को दिया जाता है, तो रिएक्ट `क्लॉक` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `क्लॉक` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस state को अपडेट करेंगे। -2) React तब `क्लॉक` कौम्पोनॅन्ट के` Render () `विधि कहते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `क्लॉक` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। +2) React तब `क्लॉक` कौम्पोनॅन्ट के` Render() `विधि को कॉल करते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `क्लॉक` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) जब DOM में `क्लॉक` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount () `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के` टिक () `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। +3) जब DOM में `क्लॉक` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount() `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के` टिक () `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। -4) हर सेकंड ब्राउज़र `टिक ()` विधि कहता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि स्थिति बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। +4) हर सेकंड ब्राउज़र `टिक()` विधि कहता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। 5) यदि DOM से `क्लॉक` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र विधि को कॉल करता है ताकि टाइमर बंद हो जाए। @@ -333,7 +335,7 @@ ReactDOM.render( this.state.comment = 'नमस्ते'; ``` -इसके बजाय, `setState ()` का उपयोग करें: +इसके बजाय, `setState()` का उपयोग करें: ```js // Correct @@ -344,9 +346,9 @@ this.setState({comment: 'नमस्ते'}); ### State अपडेट्स असिंक्रोनस हो सकते हैं {#state-updates-may-be-asynchronous} -React एक ही अपडेट में कई `setState ()` कॉल को बैच सकता है। +React एक ही अपडेट में कई `setState()` कॉल को बैच सकता है। -क्योंकि `this.props` और` this.state` को एसिंक्रोनस रूप से अपडेट किया जा सकता है, आपको अगले राज्य की गणना के लिए उनके मूल्यों पर भरोसा नहीं करना चाहिए। +क्योंकि `this.props` और` this.state` को एसिंक्रोनस रूप से अपडेट किया जा सकता है, आपको अगले state की गणना के लिए उनके मूल्यों पर भरोसा नहीं करना चाहिए। उदाहरण के लिए, यह कोड काउंटर को अपडेट करने में विफल हो सकता है: @@ -357,7 +359,7 @@ this.setState({ }); ``` -इसे ठीक करने के लिए, `setState ()` के दूसरे रूप का उपयोग करें, जो एक वस्तु के बजाय एक फ़ंक्शन को स्वीकार करता है। वह फ़ंक्शन पिछली स्थिति को पहले तर्क के रूप में प्राप्त करेगा, और उस समय के अपडेट के बाद दूसरा तर्क के रूप में लागू होता है: +इसे ठीक करने के लिए, `setState()` के दूसरे रूप का उपयोग करें, जो एक वस्तु के बजाय एक फ़ंक्शन को स्वीकार करता है। वह फ़ंक्शन पिछली को पहले तर्क के रूप में प्राप्त करेगा, और उस समय के अपडेट के बाद दूसरा तर्क के रूप में लागू होता है: ```js // Correct @@ -379,7 +381,7 @@ this.setState(function(state, props) { ### State अपडेट्स मर्ज किए गए हैं {#state-updates-are-merged} -जब आप `setState ()` कहते हैं, तो React आपके द्वारा वर्तमान स्थिति में प्रदान की गई वस्तु को मर्ज कर देती है। +जब आप `setState()` को कॉल करते हैं, तो React आपके द्वारा वर्तमान state में प्रदान की गई वस्तु को मर्ज कर देती है। उदाहरण के लिए, आपके state में कई स्वतंत्र चर हो सकते हैं: @@ -393,7 +395,7 @@ this.setState(function(state, props) { } ``` -फिर आप उन्हें अलग-अलग `setState ()` कॉल के साथ स्वतंत्र रूप से अपडेट कर सकते हैं: +फिर आप उन्हें अलग-अलग `setState()` कॉल के साथ स्वतंत्र रूप से अपडेट कर सकते हैं: ```js{4,10} componentDidMount() { @@ -411,7 +413,7 @@ this.setState(function(state, props) { } ``` -विलय उथला है, इसलिए `this.setState ({comments})` को `this.state.posts` बरकरार रखता है, लेकिन पूरी तरह से` this.state.comments` को बदल देता है। +विलय उथला है, इसलिए `this.setState({comments})` को `this.state.posts` बरकरार रखता है, लेकिन पूरी तरह से` this.state.comments` को बदल देता है। ## डेटा नीचे बहती है {#the-data-flows-down} @@ -443,7 +445,7 @@ function FormattedDate(props) { इसे आमतौर पर "टॉप-डाउन" या "यूनिडायरेक्शनल" डेटा प्रवाह कहा जाता है। कोई भी state हमेशा कुछ विशिष्ट कौम्पोनॅन्ट के स्वामित्व में होता है, और उस state से प्राप्त कोई भी डेटा या UI केवल पेड़ में "नीचे" कौम्पोनॅन्ट को प्रभावित कर सकता है। -यदि आप एक कौम्पोनॅन्ट के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की स्थिति एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। +यदि आप एक कौम्पोनॅन्ट के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन` <क्लॉक> `s प्रदान करता है: From 739d92b2ffd2c35bb34201e39607ec5ce165bc86 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Thu, 21 Mar 2019 23:49:50 -0400 Subject: [PATCH 04/22] Correcting more errors --- content/docs/state-and-lifecycle.md | 93 ++++++++++++++--------------- 1 file changed, 45 insertions(+), 48 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index b100d127a..0ac72873a 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -13,8 +13,8 @@ next: handling-events.html [पिछले अनुभागों में से एक](/docs/rendering-elements.html#updating-the-rendered-element) घड़ी के उदाहरण पर विचार करें। [रेंडरिंग एलिमेंट्स](/docs/rendering-elements.html#rendering-an-element-into-the-dom) में हमने UI को अपडेट करने का केवल एक तरीका सीखा है। प्रदान किए गए आउटपुट को बदलने के लिए हम `ReactDOM.render()` को कॉल करते हैं : ```js{8-11} -function टिक() { - const element = ( +function tick() { + const element = (

नमस्ते, दुनिया!

यह {new Date().toLocaleTimeString()}.

@@ -26,20 +26,17 @@ function टिक() { ); } -setInterval(टिक, 1000); +setInterval(tick, 1000); ``` - - - [**Try it on CodePen**](https://codepen.io/gaearon/pen/gwoJZk?editors=0010) -इस खंड में, हम सीखेंगे कि `क्लॉक` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और समझाया कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। +इस खंड में, हम सीखेंगे कि `Clock` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और समझाया कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। -हम कैसे घड़ी लग रहा है encapsulating द्वारा शुरू कर सकते हैं: +घडी देखने में कैसी लगेगी यह हम एन्काप्सुलेटिंग द्वारा सुरु कर सकते हैं: ```js{3-6,12} -function क्लॉक(props) { +function Clock(props) { return (

नमस्ते, दुनिया!

@@ -48,30 +45,30 @@ function क्लॉक(props) { ); } -function टिक () { +function tick() { ReactDOM.render( - <क्लॉक date={new Date()} />, + , document.getElementById('root') ); } -setInterval(टिक, 1000); +setInterval(tick, 1000); ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/dpdoYR?editors=0010) -हालांकि, यह एक महत्वपूर्ण आवश्यकता को याद करता है: यह तथ्य कि `क्लॉक` एक टाइमर सेट करता है और UI को अपडेट करता है हर सेकंड` क्लॉक` का कार्यान्वयन विवरण होना चाहिए। +हालांकि, यह एक महत्वपूर्ण आवश्यकता को याद करता है: यह तथ्य कि `Clock` एक टाइमर सेट करता है और UI को अपडेट करता है हर सेकंड` Clock` का कार्यान्वयन विवरण होना चाहिए। -आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और `क्लॉक` को स्वयं अपडेट करते हैं: +आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और `Clock` को स्वयं अपडेट करते हैं: ```js{2} ReactDOM.render( - <क्लॉक />, + , document.getElementById('root') ); ``` -इसे लागू करने के लिए, हमें `क्लॉक` कौम्पोनॅन्ट में" state "जोड़ना होगा। +इसे लागू करने के लिए, हमें `Clock` कौम्पोनॅन्ट में" state "जोड़ना होगा। State "प्रॉप्स" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। @@ -79,7 +76,7 @@ State "प्रॉप्स" के समान है, लेकिन यह ## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} -आप `क्लॉक` जैसे फंक्शन कंपोनेंट को पांच चरणों में क्लास में बदल सकते हैं: +आप `Clock` जैसे फंक्शन कंपोनेंट को पांच चरणों में क्लास में बदल सकते हैं: 1. एक ही नाम के साथ [ES6 वर्ग](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` का विस्तार करता है। @@ -92,7 +89,7 @@ State "प्रॉप्स" के समान है, लेकिन यह 5. शेष खाली फ़ंक्शन घोषणा को हटा दें। ```js -class क्लॉक extends React.Component { +class Clock extends React.Component { render() { return (
@@ -106,9 +103,9 @@ class क्लॉक extends React.Component { [**Try it on CodePen**](https://codepen.io/gaearon/pen/zKRGpo?editors=0010) -`क्लॉक` को अब एक फ़ंक्शन के बजाय एक वर्ग के रूप में परिभाषित किया गया है। +`Clock` को अब एक फ़ंक्शन के बजाय एक वर्ग के रूप में परिभाषित किया गया है। -`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` <क्लॉक /> `को एक ही डोम नोड में रेंडर करते हैं, तब तक` क्लॉक` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। +`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` `को एक ही डोम नोड में रेंडर करते हैं, तब तक` Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। ## क्लास में स्थानीय state जोड़ना {#adding-local-state-to-a-class} @@ -117,7 +114,7 @@ class क्लॉक extends React.Component { 1) `Render()` विधि में `this.props.date` को `this.state.date `के साथ बदलें: ```js{6} -class क्लॉक extends React.Component { +class Clock extends React.Component { render() { return (
@@ -132,7 +129,7 @@ class क्लॉक extends React.Component { 2) एक [class constructor](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes#Constructor) जोड़ें जो प्रारंभिक `this.state` को असाइन करता है: ```js{4} -class क्लॉक extends React.Component { +class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -160,11 +157,11 @@ class क्लॉक extends React.Component { क्लास के घटकों को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। -3) `<क्लॉक />` तत्व से `date` प्रोप निकालें: +3) `` तत्व से `date` प्रोप निकालें: ```js{2} ReactDOM.render( - <क्लॉक />, + , document.getElementById('root') ); ``` @@ -174,7 +171,7 @@ ReactDOM.render( परिणाम इस तरह दिखता है: ```js{2-5,11,18} -class क्लॉक extends React.Component { +class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -191,27 +188,27 @@ class क्लॉक extends React.Component { } ReactDOM.render( - <क्लॉक />, + , document.getElementById('root') ); ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/KgQpJd?editors=0010) -इसके बाद, हम `क्लॉक` को अपना टाइमर सेट करेंगे और हर सेकंड में खुद को अपडेट करेंगे। +इसके बाद, हम `Clock` को अपना टाइमर सेट करेंगे और हर सेकंड में खुद को अपडेट करेंगे। ## क्लास में जीवनचक्र की विधियाँ जोड़ना {#adding-lifecycle-methods-to-a-class} कई कौम्पोनॅन्ट के साथ अनुप्रयोगों में, जब वे नष्ट हो जाते हैं तो कौम्पोनॅन्ट द्वारा लिए गए संसाधनों को मुक्त करना बहुत महत्वपूर्ण है। -हम चाहते हैं कि जब भी `क्लॉक` को पहली बार DOM को प्रदान किया जाए तो एक [टाइमर सेट करें](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) । इसे रिएक्ट में "माउंटिंग" कहा जाता है। +हम चाहते हैं कि जब भी `Clock` को पहली बार DOM को प्रदान किया जाए तो एक [टाइमर सेट करें](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) । इसे रिएक्ट में "माउंटिंग" कहा जाता है। -हम यह भी चाहते हैं कि जब भी `क्लॉक` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को साफ़ कर दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। +हम यह भी चाहते हैं कि जब भी `Clock` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को साफ़ कर दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। हम कौम्पोनॅन्ट कोड पर कुछ तरीकों को चलाने के लिए विशेष तरीकों की घोषणा कर सकते हैं जब एक कौम्पोनॅन्ट माउंट करता है और अनमाउंट करता है: ```js{7-9,11-13} -class क्लॉक extends React.Component { +class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -243,7 +240,7 @@ DOM के लिए कंपोनेंट आउटपुट दिए ज ```js{2-5} componentDidMount() { this.timerID = setInterval( - () => this.टिक(), + () => this.tick(), 1000 ); } @@ -262,12 +259,12 @@ DOM के लिए कंपोनेंट आउटपुट दिए ज } ``` -अंत में, हम `टिक ()` नामक एक विधि को लागू करेंगे कि `क्लॉक` कौम्पोनॅन्ट हर सेकंड चलेगा। +अंत में, हम `tick()` नामक एक विधि को लागू करेंगे कि `Clock` कौम्पोनॅन्ट हर सेकंड चलेगा। यह कौम्पोनॅन्ट स्थानीय state के अपडेट को शेड्यूल करने के लिए `this.setState()` का उपयोग करेगा: ```js{18-22} -class क्लॉक extends React.Component { +class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; @@ -275,7 +272,7 @@ class क्लॉक extends React.Component { componentDidMount() { this.timerID = setInterval( - () => this.टिक(), + () => this.tick(), 1000 ); } @@ -284,7 +281,7 @@ class क्लॉक extends React.Component { clearInterval(this.timerID); } - टिक() { + tick() { this.setState({ date: new Date() }); @@ -301,26 +298,26 @@ class क्लॉक extends React.Component { } ReactDOM.render( - <क्लॉक />, + , document.getElementById('root') ); ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/amqdNA?editors=0010) -अब घड़ी हर सेकंड टिक जाती है। +अब घड़ी हर सेकंड tick जाती है। आइए जल्दी से फिर से तैयार करें कि क्या हो रहा है और किस क्रम में विधियाँ कहलाती हैं -1) जब `<क्लॉक />` `ReactDOM.render()` को दिया जाता है, तो रिएक्ट `क्लॉक` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `क्लॉक` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस state को अपडेट करेंगे। +1) जब `` `ReactDOM.render()` को दिया जाता है, तो रिएक्ट `Clock` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `Clock` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस state को अपडेट करेंगे। -2) React तब `क्लॉक` कौम्पोनॅन्ट के` Render() `विधि को कॉल करते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `क्लॉक` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। +2) React तब `Clock` कौम्पोनॅन्ट के` Render() `विधि को कॉल करते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `Clock` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) जब DOM में `क्लॉक` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount() `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के` टिक () `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। +3) जब DOM में `Clock` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount() `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के` tick() `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। -4) हर सेकंड ब्राउज़र `टिक()` विधि कहता है। इसके अंदर, `क्लॉक` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। +4) हर सेकंड ब्राउज़र `tick()` विधि कहता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। -5) यदि DOM से `क्लॉक` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र विधि को कॉल करता है ताकि टाइमर बंद हो जाए। +5) यदि DOM से `Clock` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र विधि को कॉल करता है ताकि टाइमर बंद हो जाए। ## सही ढंग से state का उपयोग करना {#using-state-correctly} @@ -433,7 +430,7 @@ this.setState(function(state, props) { ``` -`FormattedDate` कौम्पोनॅन्ट को उसके प्रॉप्स में` date `प्राप्त होगी और यह नहीं पता चलेगा कि वह `क्लॉक` के state से आया है,` क्लॉक` के प्रॉप्स से, या हाथ से टाइप किया गया था: +`FormattedDate` कौम्पोनॅन्ट को उसके प्रॉप्स में` date `प्राप्त होगी और यह नहीं पता चलेगा कि वह `Clock` के state से आया है,` Clock` के प्रॉप्स से, या हाथ से टाइप किया गया था: ```js function FormattedDate(props) { @@ -447,15 +444,15 @@ function FormattedDate(props) { यदि आप एक कौम्पोनॅन्ट के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। -यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन` <क्लॉक> `s प्रदान करता है: +यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन` `s प्रदान करता है: ```js{4-6} function App() { return (
- <क्लॉक /> - <क्लॉक /> - <क्लॉक /> + + +
); } @@ -468,7 +465,7 @@ ReactDOM.render( [**Try it on CodePen**](https://codepen.io/gaearon/pen/vXdGmd?editors=0010) -प्रत्येक `क्लॉक` अपने टाइमर और स्वतंत्र रूप से अपडेट करता है। +प्रत्येक `Clock` अपने टाइमर और स्वतंत्र रूप से अपडेट करता है। रिएक्ट ऐप्स में, चाहे कोई कौम्पोनॅन्ट स्टेटफुल हो या स्टेटलेस, उस कौम्पोनॅन्ट का कार्यान्वयन विवरण माना जाता है जो समय के साथ बदल सकता है। आप स्टेटफुल कौम्पोनॅन्ट के अंदर स्टेटलेस कौम्पोनॅन्ट का उपयोग कर सकते हैं, और इसके विपरीत। From 08aa223b6753d2ddf13c4a3df54e5c30728aac74 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Fri, 22 Mar 2019 00:13:57 -0400 Subject: [PATCH 05/22] correcting errors --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 0ac72873a..008c05ff5 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -8,7 +8,7 @@ prev: components-and-props.html next: handling-events.html --- -यह पृष्ठ एक React कौम्पोनॅन्ट में state और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत कौम्पोनॅन्ट API संदर्भ](/docs/react-component.html)पा सकते हैं। +यह पृष्ठ एक React कौम्पोनॅन्ट में state और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत कौम्पोनॅन्ट API संदर्भ](/docs/react-component.html) पा सकते हैं। [पिछले अनुभागों में से एक](/docs/rendering-elements.html#updating-the-rendered-element) घड़ी के उदाहरण पर विचार करें। [रेंडरिंग एलिमेंट्स](/docs/rendering-elements.html#rendering-an-element-into-the-dom) में हमने UI को अपडेट करने का केवल एक तरीका सीखा है। प्रदान किए गए आउटपुट को बदलने के लिए हम `ReactDOM.render()` को कॉल करते हैं : From e3a5204da3ec7aa45076a49f94243014a07968ee Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Fri, 22 Mar 2019 16:53:31 -0400 Subject: [PATCH 06/22] correcting errors --- content/docs/state-and-lifecycle.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 008c05ff5..dda986874 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -57,7 +57,7 @@ setInterval(tick, 1000); [**Try it on CodePen**](https://codepen.io/gaearon/pen/dpdoYR?editors=0010) -हालांकि, यह एक महत्वपूर्ण आवश्यकता को याद करता है: यह तथ्य कि `Clock` एक टाइमर सेट करता है और UI को अपडेट करता है हर सेकंड` Clock` का कार्यान्वयन विवरण होना चाहिए। +हालांकि, यह तथ्य कि `Clock` एक टाइमर सेट करना और हर सेकंड UI को अपडेट करना `Clock` का कार्यान्वयन विवरण होना चाहिए। आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और `Clock` को स्वयं अपडेट करते हैं: @@ -68,7 +68,7 @@ ReactDOM.render( ); ``` -इसे लागू करने के लिए, हमें `Clock` कौम्पोनॅन्ट में" state "जोड़ना होगा। +इसे लागू करने के लिए, हमें `Clock` कौम्पोनॅन्ट में "state" जोड़ना होगा। State "प्रॉप्स" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। @@ -105,13 +105,13 @@ class Clock extends React.Component { `Clock` को अब एक फ़ंक्शन के बजाय एक वर्ग के रूप में परिभाषित किया गया है। -`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` `को एक ही डोम नोड में रेंडर करते हैं, तब तक` Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। +`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` `को एक ही डोम नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। ## क्लास में स्थानीय state जोड़ना {#adding-local-state-to-a-class} हम तीन चरणों में प्रॉप्स से `Date` को state में स्थानांतरित करेंगे: -1) `Render()` विधि में `this.props.date` को `this.state.date `के साथ बदलें: +1) `Render()` विधि में `this.props.date` को `this.state.date` के साथ बदलें: ```js{6} class Clock extends React.Component { @@ -313,9 +313,9 @@ ReactDOM.render( 2) React तब `Clock` कौम्पोनॅन्ट के` Render() `विधि को कॉल करते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `Clock` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) जब DOM में `Clock` आउटपुट डाला जाता है, तो रिएक्ट` componentDidMount() `जीवनचक्र विधि को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के` tick() `विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। +3) जब DOM में `Clock` आउटपुट डाला जाता है, तो रिएक्ट `componentDidMount()` जीवनचक्र विधि को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के `tick()` विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। -4) हर सेकंड ब्राउज़र `tick()` विधि कहता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ` setstate() `कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। +4) हर सेकंड ब्राउज़र `tick()` विधि कहता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ `setstate()` कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। 5) यदि DOM से `Clock` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र विधि को कॉल करता है ताकि टाइमर बंद हो जाए। @@ -430,7 +430,7 @@ this.setState(function(state, props) { ``` -`FormattedDate` कौम्पोनॅन्ट को उसके प्रॉप्स में` date `प्राप्त होगी और यह नहीं पता चलेगा कि वह `Clock` के state से आया है,` Clock` के प्रॉप्स से, या हाथ से टाइप किया गया था: +`FormattedDate` कौम्पोनॅन्ट को उसके प्रॉप्स में `date` प्राप्त होगी और यह नहीं पता चलेगा कि वह `Clock` के state से आया है, `Clock` के प्रॉप्स से, या हाथ से टाइप किया गया था: ```js function FormattedDate(props) { @@ -444,7 +444,7 @@ function FormattedDate(props) { यदि आप एक कौम्पोनॅन्ट के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। -यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन` `s प्रदान करता है: +यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन `Clock>` s प्रदान करता है: ```js{4-6} function App() { From 55861a40991b92ef7f1899b624bc7e472a417810 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Fri, 22 Mar 2019 23:31:42 -0400 Subject: [PATCH 07/22] Correcting errors --- content/docs/state-and-lifecycle.md | 55 +++++++++++++++-------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index dda986874..5a3ad8fb2 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -57,9 +57,9 @@ setInterval(tick, 1000); [**Try it on CodePen**](https://codepen.io/gaearon/pen/dpdoYR?editors=0010) -हालांकि, यह तथ्य कि `Clock` एक टाइमर सेट करना और हर सेकंड UI को अपडेट करना `Clock` का कार्यान्वयन विवरण होना चाहिए। +हालांकि, यह तथ्य कि `Clock` एक टाइमर सेट करना और हर सेकंड UI को अपडेट करना `Clock` का कार्यान्वयन विवरण होना चाहिए। -आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और `Clock` को स्वयं अपडेट करते हैं: +आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और चाहेंगे की `Clock` स्वयं को अपडेट करे: ```js{2} ReactDOM.render( @@ -68,23 +68,24 @@ ReactDOM.render( ); ``` -इसे लागू करने के लिए, हमें `Clock` कौम्पोनॅन्ट में "state" जोड़ना होगा। +इसे लागू करने के लिए, हमें `Clock` कौम्पोनॅन्ट में "state" को `Clock` में डालना होगा। -State "प्रॉप्स" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। +State "props" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। -हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि कक्षाओं के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। स्थानीय state ठीक यही है: एक सुविधा जो केवल कक्षाओं के लिए उपलब्ध है। +हमने [पहले उल्लेख किया है](/docs/components-and- +.html#functional-and-class-components) कि क्लासेज के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। लोकल state ठीक यही है: एक सुविधा जो केवल क्लासेज के लिए उपलब्ध है। ## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} -आप `Clock` जैसे फंक्शन कंपोनेंट को पांच चरणों में क्लास में बदल सकते हैं: +आप `Clock` जैसे फंक्शन कौम्पोनॅन्टों को पांच चरणों में क्लास में बदल सकते हैं: -1. एक ही नाम के साथ [ES6 वर्ग](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` का विस्तार करता है। +1. `Clock` फंक्शन कंपोनेंट के नाम की ही एक `[ES6 क्लास]`(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` को एक्सटेंड करता है। -2. इसमें एक एकल खाली विधि जोड़ें, जिसे `Render()` कहा जाता है। +2. इसमें `render()` नाम का एक खाली फंक्शन लिखें। -3. फ़ंक्शन के शरीर को `Render()` विधि में ले जाएँ। +3. फ़ंक्शन से सबकुछ `render()` फ़ंक्शन में ले जाएँ। -4. `Props` को `Render()` बॉडी में ` this.props` से बदलें। +4. `render()` फंक्शन में `props` को `this.props` से बदलें। 5. शेष खाली फ़ंक्शन घोषणा को हटा दें। @@ -103,15 +104,15 @@ class Clock extends React.Component { [**Try it on CodePen**](https://codepen.io/gaearon/pen/zKRGpo?editors=0010) -`Clock` को अब एक फ़ंक्शन के बजाय एक वर्ग के रूप में परिभाषित किया गया है। +`Clock` को अब एक फ़ंक्शन के बजाय एक क्लास के रूप में परिभाषित किया गया है। -`Render` विधि को हर बार अपडेट होने के बाद कहा जाएगा, लेकिन जब तक हम` `को एक ही डोम नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम स्थानीय state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। +हर अपडेट पर `render` फंक्शन कॉल होगा, लेकिन जब तक हम `` को एक ही DOM नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम लोकल state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। -## क्लास में स्थानीय state जोड़ना {#adding-local-state-to-a-class} +## क्लास में लोकल state जोड़ना {#adding-local-state-to-a-class} -हम तीन चरणों में प्रॉप्स से `Date` को state में स्थानांतरित करेंगे: +हम तीन चरणों में props से `Date` को state में स्थानांतरित करेंगे: -1) `Render()` विधि में `this.props.date` को `this.state.date` के साथ बदलें: +1) `render()` फंक्शन में `this.props.date` को `this.state.date` के साथ बदलें: ```js{6} class Clock extends React.Component { @@ -235,7 +236,7 @@ class Clock extends React.Component { इन विधियों को "जीवनचक्र विधियां" कहा जाता है। -DOM के लिए कंपोनेंट आउटपुट दिए जाने के बाद `ComponentsDidMount()` विधि चलती है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: +DOM के लिए कंपोनेंट आउटपुट दिए जाने के बाद `ComponentsDidMount()` फंक्शन चलती है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: ```js{2-5} componentDidMount() { @@ -249,7 +250,7 @@ DOM के लिए कंपोनेंट आउटपुट दिए ज ध्यान दें कि हम टाइमर आईडी को `this` पर सही तरीके से सहेजते हैं। -जबकि `this.props` को React द्वारा स्थापित किया गया है और` this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप वर्ग में अतिरिक्त फ़ील्ड जोड़ने के लिए स्वतंत्र हैं (एक टाइमर आईडी की तरह)। +जबकि `this.props` को React द्वारा स्थापित किया गया है और` this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड जोड़ने के लिए स्वतंत्र हैं (एक टाइमर आईडी की तरह)। हम `componentWillUnmount()` जीवनचक्र विधि में टाइमर को फाड़ देंगे: @@ -259,9 +260,9 @@ DOM के लिए कंपोनेंट आउटपुट दिए ज } ``` -अंत में, हम `tick()` नामक एक विधि को लागू करेंगे कि `Clock` कौम्पोनॅन्ट हर सेकंड चलेगा। +अंत में, हम `tick()` नामक एक फंक्शन को लागू करेंगे कि `Clock` कौम्पोनॅन्ट हर सेकंड चलेगा। -यह कौम्पोनॅन्ट स्थानीय state के अपडेट को शेड्यूल करने के लिए `this.setState()` का उपयोग करेगा: +यह कौम्पोनॅन्ट लोकल state के अपडेट को शेड्यूल करने के लिए `this.setState()` का उपयोग करेगा: ```js{18-22} class Clock extends React.Component { @@ -311,13 +312,13 @@ ReactDOM.render( 1) जब `` `ReactDOM.render()` को दिया जाता है, तो रिएक्ट `Clock` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `Clock` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस state को अपडेट करेंगे। -2) React तब `Clock` कौम्पोनॅन्ट के` Render() `विधि को कॉल करते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `Clock` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। +2) React तब `Clock` कौम्पोनॅन्ट के `render()` फंक्शन को कॉल करते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `Clock` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) जब DOM में `Clock` आउटपुट डाला जाता है, तो रिएक्ट `componentDidMount()` जीवनचक्र विधि को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के `tick()` विधि को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। +3) जब DOM में `Clock` आउटपुट डाला जाता है, तो रिएक्ट `componentDidMount()` जीवनचक्र फंक्शन को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के `tick()` फंक्शन को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। -4) हर सेकंड ब्राउज़र `tick()` विधि कहता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ `setstate()` कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` विधि को कॉल करता है। इस बार `Render()` विधि में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। +4) हर सेकंड ब्राउज़र `tick()` फंक्शन कहता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ `setstate()` कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` फंक्शन को कॉल करता है। इस बार `Render()` फंक्शन में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। -5) यदि DOM से `Clock` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र विधि को कॉल करता है ताकि टाइमर बंद हो जाए। +5) यदि DOM से `Clock` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र फंक्शन को कॉल करता है ताकि टाइमर बंद हो जाए। ## सही ढंग से state का उपयोग करना {#using-state-correctly} @@ -414,9 +415,9 @@ this.setState(function(state, props) { ## डेटा नीचे बहती है {#the-data-flows-down} -यदि कोई निश्चित कौम्पोनॅन्ट स्टेटफुल या स्टेटलेस है, तो न तो माता-पिता और न ही बच्चे कौम्पोनॅन्ट को पता चल सकता है, और उन्हें परवाह नहीं करनी चाहिए कि क्या यह एक फ़ंक्शन या वर्ग के रूप में परिभाषित किया गया है। +यदि कोई निश्चित कौम्पोनॅन्ट स्टेटफुल या स्टेटलेस है, तो न तो माता-पिता और न ही बच्चे कौम्पोनॅन्ट को पता चल सकता है, और उन्हें परवाह नहीं करनी चाहिए कि क्या यह एक फ़ंक्शन या क्लास के रूप में परिभाषित किया गया है। -यही कारण है कि state को अक्सर स्थानीय या समझाया जाता है। यह किसी भी कौम्पोनॅन्ट के अलावा अन्य के लिए सुलभ नहीं है जो इसका मालिक है और इसे सेट करता है। +यही कारण है कि state को अक्सर लोकल या समझाया जाता है। यह किसी भी कौम्पोनॅन्ट के अलावा अन्य के लिए सुलभ नहीं है जो इसका मालिक है और इसे सेट करता है। एक कौम्पोनॅन्ट अपने state को अपने बाल कौम्पोनॅन्ट के लिए सहारा के रूप में पारित करने का विकल्प चुन सकता है: @@ -430,7 +431,7 @@ this.setState(function(state, props) { ``` -`FormattedDate` कौम्पोनॅन्ट को उसके प्रॉप्स में `date` प्राप्त होगी और यह नहीं पता चलेगा कि वह `Clock` के state से आया है, `Clock` के प्रॉप्स से, या हाथ से टाइप किया गया था: +`FormattedDate` कौम्पोनॅन्ट को उसके props में `date` प्राप्त होगी और यह नहीं पता चलेगा कि वह `Clock` के state से आया है, `Clock` के props से, या हाथ से टाइप किया गया था: ```js function FormattedDate(props) { @@ -442,7 +443,7 @@ function FormattedDate(props) { इसे आमतौर पर "टॉप-डाउन" या "यूनिडायरेक्शनल" डेटा प्रवाह कहा जाता है। कोई भी state हमेशा कुछ विशिष्ट कौम्पोनॅन्ट के स्वामित्व में होता है, और उस state से प्राप्त कोई भी डेटा या UI केवल पेड़ में "नीचे" कौम्पोनॅन्ट को प्रभावित कर सकता है। -यदि आप एक कौम्पोनॅन्ट के पेड़ को प्रॉप्स के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। +यदि आप एक कौम्पोनॅन्ट के पेड़ को props के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन `Clock>` s प्रदान करता है: From 5a0fe2c8759afa95aeb80557368de2e26e0f8095 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Sat, 23 Mar 2019 23:19:31 -0400 Subject: [PATCH 08/22] correcting errors --- content/docs/state-and-lifecycle.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 5a3ad8fb2..11b219697 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -72,8 +72,7 @@ ReactDOM.render( State "props" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। -हमने [पहले उल्लेख किया है](/docs/components-and- -.html#functional-and-class-components) कि क्लासेज के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। लोकल state ठीक यही है: एक सुविधा जो केवल क्लासेज के लिए उपलब्ध है। +हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि क्लासेज के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। लोकल state ठीक यही है: एक सुविधा जो केवल क्लासेज के लिए उपलब्ध है। ## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} From 124d79e8e72dc116e6e7e36fa6fce62a11ff8583 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Sun, 24 Mar 2019 23:57:41 -0400 Subject: [PATCH 09/22] correcting errors --- content/docs/state-and-lifecycle.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 11b219697..dd9793d7e 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -107,9 +107,9 @@ class Clock extends React.Component { हर अपडेट पर `render` फंक्शन कॉल होगा, लेकिन जब तक हम `` को एक ही DOM नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम लोकल state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। -## क्लास में लोकल state जोड़ना {#adding-local-state-to-a-class} +## क्लास में लोकल state ऐड करना {#adding-local-state-to-a-class} -हम तीन चरणों में props से `Date` को state में स्थानांतरित करेंगे: +हम तीन चरणों में date को props से state में भेजेंगे: 1) `render()` फंक्शन में `this.props.date` को `this.state.date` के साथ बदलें: @@ -155,9 +155,9 @@ class Clock extends React.Component { } ``` -क्लास के घटकों को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। +क्लास के कौम्पोनॅन्टों को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। -3) `` तत्व से `date` प्रोप निकालें: +3) `` एलिमेंट से `date` प्रोप निकालें: ```js{2} ReactDOM.render( @@ -166,7 +166,7 @@ ReactDOM.render( ); ``` -हम बाद में टाइमर कोड को कौम्पोनॅन्ट में वापस जोड़ देंगे। +हम बाद में टाइमर कोड को कौम्पोनॅन्ट में वापस डाल देंगे। परिणाम इस तरह दिखता है: @@ -195,17 +195,17 @@ ReactDOM.render( [**Try it on CodePen**](https://codepen.io/gaearon/pen/KgQpJd?editors=0010) -इसके बाद, हम `Clock` को अपना टाइमर सेट करेंगे और हर सेकंड में खुद को अपडेट करेंगे। +इसके बाद, हम `Clock` को अपना टाइमर सेट और हर सेकंड में खुद को अपडेट करने देंगे। -## क्लास में जीवनचक्र की विधियाँ जोड़ना {#adding-lifecycle-methods-to-a-class} +## क्लास में जीवनचक्र की विधियाँ डालना {#adding-lifecycle-methods-to-a-class} कई कौम्पोनॅन्ट के साथ अनुप्रयोगों में, जब वे नष्ट हो जाते हैं तो कौम्पोनॅन्ट द्वारा लिए गए संसाधनों को मुक्त करना बहुत महत्वपूर्ण है। हम चाहते हैं कि जब भी `Clock` को पहली बार DOM को प्रदान किया जाए तो एक [टाइमर सेट करें](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) । इसे रिएक्ट में "माउंटिंग" कहा जाता है। -हम यह भी चाहते हैं कि जब भी `Clock` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को साफ़ कर दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। +हम यह भी चाहते हैं कि जब भी `Clock` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को हटा कर दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। -हम कौम्पोनॅन्ट कोड पर कुछ तरीकों को चलाने के लिए विशेष तरीकों की घोषणा कर सकते हैं जब एक कौम्पोनॅन्ट माउंट करता है और अनमाउंट करता है: +जब एक कौम्पोनॅन्ट माउंट और अनमाउंट करता है तब कौम्पोनॅन्ट क्लास में कोड को चलने के लिए हम कुछ विशेष तरीकों की घोषणा कर सकते हैं: ```js{7-9,11-13} class Clock extends React.Component { @@ -235,7 +235,7 @@ class Clock extends React.Component { इन विधियों को "जीवनचक्र विधियां" कहा जाता है। -DOM के लिए कंपोनेंट आउटपुट दिए जाने के बाद `ComponentsDidMount()` फंक्शन चलती है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: +DOM के लिए कौम्पोनॅन्ट आउटपुट दिए जाने के बाद `componentsDidMount()` फंक्शन चलता है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: ```js{2-5} componentDidMount() { @@ -246,8 +246,7 @@ DOM के लिए कंपोनेंट आउटपुट दिए ज } ``` - -ध्यान दें कि हम टाइमर आईडी को `this` पर सही तरीके से सहेजते हैं। +ध्यान दें कि हम टाइमर ID को `this` पर सही तरीके से सहेजते हैं। जबकि `this.props` को React द्वारा स्थापित किया गया है और` this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड जोड़ने के लिए स्वतंत्र हैं (एक टाइमर आईडी की तरह)। From 6e0020cfe99cc9ef30398f2f8dd27cd2e8f817bc Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Mon, 25 Mar 2019 23:24:59 -0400 Subject: [PATCH 10/22] correcting errors --- content/docs/state-and-lifecycle.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index dd9793d7e..f5671a348 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -157,7 +157,7 @@ class Clock extends React.Component { क्लास के कौम्पोनॅन्टों को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। -3) `` एलिमेंट से `date` प्रोप निकालें: +3) `` एलिमेंट से `date` prop निकालें: ```js{2} ReactDOM.render( @@ -203,7 +203,7 @@ ReactDOM.render( हम चाहते हैं कि जब भी `Clock` को पहली बार DOM को प्रदान किया जाए तो एक [टाइमर सेट करें](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) । इसे रिएक्ट में "माउंटिंग" कहा जाता है। -हम यह भी चाहते हैं कि जब भी `Clock` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को हटा कर दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। +हम यह भी चाहते हैं कि जब भी `Clock` द्वारा निर्मित DOM को हटाया जाए तो वह [उस टाइमर](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval) को हटा दे। इसे रिएक्ट में "अनमाउंटिंग" कहा जाता है। जब एक कौम्पोनॅन्ट माउंट और अनमाउंट करता है तब कौम्पोनॅन्ट क्लास में कोड को चलने के लिए हम कुछ विशेष तरीकों की घोषणा कर सकते हैं: From e6bcf5a3edd0aaad55017bf0e922a1aab0984949 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Tue, 26 Mar 2019 11:05:45 -0400 Subject: [PATCH 11/22] correcting errors --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index f5671a348..56478e976 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -248,7 +248,7 @@ DOM के लिए कौम्पोनॅन्ट आउटपुट दि ध्यान दें कि हम टाइमर ID को `this` पर सही तरीके से सहेजते हैं। -जबकि `this.props` को React द्वारा स्थापित किया गया है और` this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड जोड़ने के लिए स्वतंत्र हैं (एक टाइमर आईडी की तरह)। +जबकि `this.props` को React द्वारा स्थापित किया गया है और` this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड जोड़ने के लिए स्वतंत्र हैं (एक टाइमर ID की तरह)। हम `componentWillUnmount()` जीवनचक्र विधि में टाइमर को फाड़ देंगे: From d6fbb4d8e6f8ab20775c8a2de6ff85a8d218b7a9 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Tue, 26 Mar 2019 17:31:48 -0400 Subject: [PATCH 12/22] correcting errors --- content/docs/state-and-lifecycle.md | 48 ++++++++++++++--------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 56478e976..1957425ac 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -248,9 +248,9 @@ DOM के लिए कौम्पोनॅन्ट आउटपुट दि ध्यान दें कि हम टाइमर ID को `this` पर सही तरीके से सहेजते हैं। -जबकि `this.props` को React द्वारा स्थापित किया गया है और` this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड जोड़ने के लिए स्वतंत्र हैं (एक टाइमर ID की तरह)। +जबकि `this.props` को React द्वारा स्थापित किया गया है और `this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड ऐड के लिए स्वतंत्र हैं (एक टाइमर ID की तरह)। -हम `componentWillUnmount()` जीवनचक्र विधि में टाइमर को फाड़ देंगे: +हम `componentWillUnmount()` जीवनचक्र विधि में टाइमर को नष्ट कर देंगे: ```js{2} componentWillUnmount() { @@ -304,23 +304,23 @@ ReactDOM.render( [**Try it on CodePen**](https://codepen.io/gaearon/pen/amqdNA?editors=0010) -अब घड़ी हर सेकंड tick जाती है। +अब घड़ी हर सेकंड tick होती है। आइए जल्दी से फिर से तैयार करें कि क्या हो रहा है और किस क्रम में विधियाँ कहलाती हैं -1) जब `` `ReactDOM.render()` को दिया जाता है, तो रिएक्ट `Clock` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `Clock` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस state को अपडेट करेंगे। +1) जब `` `ReactDOM.render()` को दिया जाता है, तो React `Clock` कौम्पोनॅन्ट के निर्माता को बुलाता है। चूँकि `Clock` को वर्तमान समय को प्रदर्शित करने की आवश्यकता है, यह वर्तमान समय सहित किसी ऑब्जेक्ट के साथ` this.state` को आरंभ करता है। हम बाद में इस state को अपडेट करेंगे। -2) React तब `Clock` कौम्पोनॅन्ट के `render()` फंक्शन को कॉल करते हैं। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `Clock` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। +2) इसके बाद React `Clock` कौम्पोनॅन्ट के `render()` फंक्शन को कॉल करता है। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `Clock` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) जब DOM में `Clock` आउटपुट डाला जाता है, तो रिएक्ट `componentDidMount()` जीवनचक्र फंक्शन को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के `tick()` फंक्शन को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। +3) जब DOM में `Clock` आउटपुट डाला जाता है, तो React `componentDidMount()` जीवनचक्र फंक्शन को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के `tick()` फंक्शन को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। -4) हर सेकंड ब्राउज़र `tick()` फंक्शन कहता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ `setstate()` कहकर UI अपडेट को शेड्यूल करता है। `SetState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `Render()` फंक्शन को कॉल करता है। इस बार `Render()` फंक्शन में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React तदनुसार DOM को अपडेट करता है। +4) हर सेकंड ब्राउज़र `tick()` फंक्शन को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ `setstate()` कॉल करके UI अपडेट को शेड्यूल करता है। `setState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `render()` फंक्शन को कॉल करता है। इस बार `render()` फंक्शन में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React उसी हिसाब से DOM को अपडेट करता है। -5) यदि DOM से `Clock` कंपोनेंट को कभी हटा दिया जाता है, तो रिएक्ट` componentWillUnmount()` जीवनचक्र फंक्शन को कॉल करता है ताकि टाइमर बंद हो जाए। +5) यदि DOM से `Clock` कौम्पोनॅन्ट को कभी हटा दिया जाता है, तो React `componentWillUnmount()` जीवनचक्र फंक्शन को कॉल करता है ताकि टाइमर बंद हो जाए। ## सही ढंग से state का उपयोग करना {#using-state-correctly} -`SetState()` के बारे में आपको तीन बातें पता होनी चाहिए। +`setState()` के बारे में आपको तीन बातें पता होनी चाहिए। ### सीधे state को संशोधित न करें {#do-not-modify-state-directly} @@ -342,9 +342,9 @@ this.setState({comment: 'नमस्ते'}); ### State अपडेट्स असिंक्रोनस हो सकते हैं {#state-updates-may-be-asynchronous} -React एक ही अपडेट में कई `setState()` कॉल को बैच सकता है। +React परफॉरमेंस के लिए कई सरे `setState()` कॉल को एक ही बार में चला देता है। -क्योंकि `this.props` और` this.state` को एसिंक्रोनस रूप से अपडेट किया जा सकता है, आपको अगले state की गणना के लिए उनके मूल्यों पर भरोसा नहीं करना चाहिए। +क्योंकि `this.props` और `this.state` को एसिंक्रोनस रूप से अपडेट किया जा सकता है, आपको अगले state की गणना के लिए उनके वैल्यूस पर निर्भर नहीं होना चाहिए उदाहरण के लिए, यह कोड काउंटर को अपडेट करने में विफल हो सकता है: @@ -355,7 +355,7 @@ this.setState({ }); ``` -इसे ठीक करने के लिए, `setState()` के दूसरे रूप का उपयोग करें, जो एक वस्तु के बजाय एक फ़ंक्शन को स्वीकार करता है। वह फ़ंक्शन पिछली को पहले तर्क के रूप में प्राप्त करेगा, और उस समय के अपडेट के बाद दूसरा तर्क के रूप में लागू होता है: +इसे ठीक करने के लिए, `setState()` के दूसरे रूप का उपयोग करें, जो एक ऑब्जेक्ट के बजाय एक फ़ंक्शन को स्वीकार करता है। वह फ़ंक्शन पिछली state को पहले तर्क के रूप में प्राप्त करेगा, और अपडेट के समय के props दूसरे तर्क के रूप में लागू होते हैं: ```js // Correct @@ -377,7 +377,7 @@ this.setState(function(state, props) { ### State अपडेट्स मर्ज किए गए हैं {#state-updates-are-merged} -जब आप `setState()` को कॉल करते हैं, तो React आपके द्वारा वर्तमान state में प्रदान की गई वस्तु को मर्ज कर देती है। +जब आप `setState()` को कॉल करते हैं, तो React आपके द्वारा वर्तमान state में प्रदान किये गए ऑब्जेक्ट को मर्ज कर देता है। उदाहरण के लिए, आपके state में कई स्वतंत्र चर हो सकते हैं: @@ -409,18 +409,18 @@ this.setState(function(state, props) { } ``` -विलय उथला है, इसलिए `this.setState({comments})` को `this.state.posts` बरकरार रखता है, लेकिन पूरी तरह से` this.state.comments` को बदल देता है। +विलय उथला है, इसलिए `this.setState({comments})` को `this.state.posts` बरकरार रखता है, लेकिन पूरी तरह से `this.state.comments` को बदल देता है। -## डेटा नीचे बहती है {#the-data-flows-down} +## डेटा नीचे बहता है {#the-data-flows-down} -यदि कोई निश्चित कौम्पोनॅन्ट स्टेटफुल या स्टेटलेस है, तो न तो माता-पिता और न ही बच्चे कौम्पोनॅन्ट को पता चल सकता है, और उन्हें परवाह नहीं करनी चाहिए कि क्या यह एक फ़ंक्शन या क्लास के रूप में परिभाषित किया गया है। +यदि कोई निश्चित कौम्पोनॅन्ट स्टेटफुल या स्टेटलेस है, तो न तो पैरेंट और न ही चाइल्ड कौम्पोनॅन्ट को पता चल सकता है, और उन्हें परवाह नहीं करनी चाहिए कि क्या यह एक फ़ंक्शन या क्लास के रूप में परिभाषित किया गया है। -यही कारण है कि state को अक्सर लोकल या समझाया जाता है। यह किसी भी कौम्पोनॅन्ट के अलावा अन्य के लिए सुलभ नहीं है जो इसका मालिक है और इसे सेट करता है। +यही कारण है कि state को अक्सर लोकल या एनकेप्सुलेटेड भी कहा जाता है। यह किसी भी कौम्पोनॅन्ट के अलावा अन्य के लिए सुलभ नहीं है जो इसका मालिक है और इसे सेट करता है। -एक कौम्पोनॅन्ट अपने state को अपने बाल कौम्पोनॅन्ट के लिए सहारा के रूप में पारित करने का विकल्प चुन सकता है: +एक कौम्पोनॅन्ट अपने state को अपने चाइल्ड कौम्पोनॅन्ट के लिए सहारा के रूप में पारित करने का विकल्प चुन सकता है: ```js -

यह {this.state.date.toLocaleTimeString()}है।

+

यह {this.state.date.toLocaleTimeString()} है।

``` यह उपयोगकर्ता द्वारा परिभाषित कौम्पोनॅन्ट के लिए भी काम करता है: @@ -433,17 +433,17 @@ this.setState(function(state, props) { ```js function FormattedDate(props) { - return

यह {props.date.toLocaleTimeString()}है।

; + return

यह {props.date.toLocaleTimeString()} है।

; } ``` [**Try it on CodePen**](https://codepen.io/gaearon/pen/zKRqNB?editors=0010) -इसे आमतौर पर "टॉप-डाउन" या "यूनिडायरेक्शनल" डेटा प्रवाह कहा जाता है। कोई भी state हमेशा कुछ विशिष्ट कौम्पोनॅन्ट के स्वामित्व में होता है, और उस state से प्राप्त कोई भी डेटा या UI केवल पेड़ में "नीचे" कौम्पोनॅन्ट को प्रभावित कर सकता है। +इसे आमतौर पर "टॉप-डाउन" या "यूनिडायरेक्शनल" डेटा प्रवाह कहा जाता है। कोई भी state हमेशा कुछ विशिष्ट कौम्पोनॅन्ट के स्वामित्व में होता है, और उस state से प्राप्त कोई भी डेटा या UI केवल ट्री में खुद से "नीचे" कौम्पोनॅन्ट को प्रभावित कर सकता है। -यदि आप एक कौम्पोनॅन्ट के पेड़ को props के झरने के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाना बिंदु पर मिलती है लेकिन नीचे बहती है। +यदि आप एक कौम्पोनॅन्ट के ट्री को props को वॉटरफॉल के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाने बिंदु पर मिलती है लेकिन नीचे बहती है। -यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन `Clock>` s प्रदान करता है: +यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन `Clock>` s को रेंडर करेंगा: ```js{4-6} function App() { @@ -466,5 +466,5 @@ ReactDOM.render( प्रत्येक `Clock` अपने टाइमर और स्वतंत्र रूप से अपडेट करता है। -रिएक्ट ऐप्स में, चाहे कोई कौम्पोनॅन्ट स्टेटफुल हो या स्टेटलेस, उस कौम्पोनॅन्ट का कार्यान्वयन विवरण माना जाता है जो समय के साथ बदल सकता है। आप स्टेटफुल कौम्पोनॅन्ट के अंदर स्टेटलेस कौम्पोनॅन्ट का उपयोग कर सकते हैं, और इसके विपरीत। +रिएक्ट ऐप्स में, चाहे कोई कौम्पोनॅन्ट स्टेटफुल हो या स्टेटलेस, उस कौम्पोनॅन्ट को कार्यान्वयन विवरण माना जाता है जो समय के साथ बदल सकता है। आप स्टेटफुल कौम्पोनॅन्ट के अंदर स्टेटलेस कौम्पोनॅन्ट का उपयोग कर सकते हैं, और इसके विपरीत। From 15c0614dd5f15c7dbb5b96fd273f1e2107883bf3 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Wed, 27 Mar 2019 10:27:09 -0400 Subject: [PATCH 13/22] correcting errors --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 1957425ac..247ee371d 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -248,7 +248,7 @@ DOM के लिए कौम्पोनॅन्ट आउटपुट दि ध्यान दें कि हम टाइमर ID को `this` पर सही तरीके से सहेजते हैं। -जबकि `this.props` को React द्वारा स्थापित किया गया है और `this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड ऐड के लिए स्वतंत्र हैं (एक टाइमर ID की तरह)। +जबकि `this.props` को React द्वारा स्थापित किया गया है और `this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड ऐड करने के लिए स्वतंत्र हैं (एक टाइमर ID की तरह)। हम `componentWillUnmount()` जीवनचक्र विधि में टाइमर को नष्ट कर देंगे: From 7f0b2ee374a919933ab454866aadfd44fff6465a Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Wed, 27 Mar 2019 10:30:04 -0400 Subject: [PATCH 14/22] correcting errors --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 247ee371d..47035c16e 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -355,7 +355,7 @@ this.setState({ }); ``` -इसे ठीक करने के लिए, `setState()` के दूसरे रूप का उपयोग करें, जो एक ऑब्जेक्ट के बजाय एक फ़ंक्शन को स्वीकार करता है। वह फ़ंक्शन पिछली state को पहले तर्क के रूप में प्राप्त करेगा, और अपडेट के समय के props दूसरे तर्क के रूप में लागू होते हैं: +इसे ठीक करने के लिए, `setState()` के दूसरे रूप का उपयोग करें, जो एक ऑब्जेक्ट के बजाय एक फ़ंक्शन को स्वीकार करता है। वह फ़ंक्शन पिछले state को पहले तर्क के रूप में प्राप्त करेगा, और अपडेट के समय के props दूसरे तर्क के रूप में लागू होते हैं: ```js // Correct From 5e5ec8feea08745f22da8b74d47884f4a093ed6e Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Wed, 27 Mar 2019 11:47:43 -0400 Subject: [PATCH 15/22] correcting errors --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 47035c16e..1d0c99b89 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -443,7 +443,7 @@ function FormattedDate(props) { यदि आप एक कौम्पोनॅन्ट के ट्री को props को वॉटरफॉल के रूप में कल्पना करते हैं, तो प्रत्येक कौम्पोनॅन्ट की state एक अतिरिक्त पानी के स्रोत की तरह होती है जो इसे एक मनमाने बिंदु पर मिलती है लेकिन नीचे बहती है। -यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन `Clock>` s को रेंडर करेंगा: +यह दर्शाने के लिए कि सभी कौम्पोनॅन्ट वास्तव में अलग-थलग हैं, हम एक `App` कौम्पोनॅन्ट बना सकते हैं जो तीन `Clock>` कौम्पोनॅन्ट को रेंडर करेगा: ```js{4-6} function App() { From f9a4f8366bccd6d5f8a25445530ca69738f8807f Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Wed, 27 Mar 2019 23:27:22 -0400 Subject: [PATCH 16/22] second review errors --- content/docs/state-and-lifecycle.md | 41 +++++++++++++++-------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 1d0c99b89..f595a61cb 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -1,6 +1,6 @@ --- id: state-and-lifecycle -title: State और जीवनचक्र +title: State और Lifecycle permalink: docs/state-and-lifecycle.html redirect_from: - "docs/interactivity-and-dynamic-uis.html" @@ -8,7 +8,7 @@ prev: components-and-props.html next: handling-events.html --- -यह पृष्ठ एक React कौम्पोनॅन्ट में state और जीवनचक्र की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत कौम्पोनॅन्ट API संदर्भ](/docs/react-component.html) पा सकते हैं। +यह पृष्ठ एक React कौम्पोनॅन्ट में state और Lifecycle की अवधारणा का परिचय देता है। आप [यहाँ एक विस्तृत कौम्पोनॅन्ट API संदर्भ](/docs/react-component.html) पा सकते हैं। [पिछले अनुभागों में से एक](/docs/rendering-elements.html#updating-the-rendered-element) घड़ी के उदाहरण पर विचार करें। [रेंडरिंग एलिमेंट्स](/docs/rendering-elements.html#rendering-an-element-into-the-dom) में हमने UI को अपडेट करने का केवल एक तरीका सीखा है। प्रदान किए गए आउटपुट को बदलने के लिए हम `ReactDOM.render()` को कॉल करते हैं : @@ -17,7 +17,8 @@ function tick() { const element = (

नमस्ते, दुनिया!

-

यह {new Date().toLocaleTimeString()}.

+

अभी {new Date().toLocaleTimeString()}बजे हैं। +

); ReactDOM.render( @@ -31,16 +32,16 @@ setInterval(tick, 1000); [**Try it on CodePen**](https://codepen.io/gaearon/pen/gwoJZk?editors=0010) -इस खंड में, हम सीखेंगे कि `Clock` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और समझाया कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। +इस खंड में, हम सीखेंगे कि `Clock` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और संपुटित कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। -घडी देखने में कैसी लगेगी यह हम एन्काप्सुलेटिंग द्वारा सुरु कर सकते हैं: +घडी देखने में कैसी लगेगी यह हम एन्काप्सुलेटिंग द्वारा शुरु कर सकते हैं: ```js{3-6,12} function Clock(props) { return (

नमस्ते, दुनिया!

-

यह {props.date.toLocaleTimeString()} है।

+

अभी {props.date.toLocaleTimeString()} बजे हैं।

); } @@ -94,7 +95,7 @@ class Clock extends React.Component { return (

नमस्ते, दुनिया!

-

यह {this.props.date.toLocaleTimeString()} है।

+

अभी {this.props.date.toLocaleTimeString()} बजे हैं।

); } @@ -105,7 +106,7 @@ class Clock extends React.Component { `Clock` को अब एक फ़ंक्शन के बजाय एक क्लास के रूप में परिभाषित किया गया है। -हर अपडेट पर `render` फंक्शन कॉल होगा, लेकिन जब तक हम `` को एक ही DOM नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम लोकल state और जीवनचक्र विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। +हर अपडेट पर `render` फंक्शन कॉल होगा, लेकिन जब तक हम `` को एक ही DOM नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम लोकल state और Lifecycle विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। ## क्लास में लोकल state ऐड करना {#adding-local-state-to-a-class} @@ -119,7 +120,7 @@ class Clock extends React.Component { return (

नमस्ते, दुनिया!

-

यह {this.state.date.toLocaleTimeString()} है।

+

अभी {this.state.date.toLocaleTimeString()} बजे हैं।

); } @@ -139,7 +140,7 @@ class Clock extends React.Component { return (

नमस्ते, दुनिया!

-

यह {this.state.date.toLocaleTimeString()} है।

+

अभी {this.state.date.toLocaleTimeString()} बजे हैं।

); } @@ -181,7 +182,7 @@ class Clock extends React.Component { return (

नमस्ते, दुनिया!

-

यह {this.state.date.toLocaleTimeString()} है।

+

अभी {this.state.date.toLocaleTimeString()} बजे हैं।

); } @@ -197,7 +198,7 @@ ReactDOM.render( इसके बाद, हम `Clock` को अपना टाइमर सेट और हर सेकंड में खुद को अपडेट करने देंगे। -## क्लास में जीवनचक्र की विधियाँ डालना {#adding-lifecycle-methods-to-a-class} +## क्लास में Lifecycle की विधियाँ डालना {#adding-lifecycle-methods-to-a-class} कई कौम्पोनॅन्ट के साथ अनुप्रयोगों में, जब वे नष्ट हो जाते हैं तो कौम्पोनॅन्ट द्वारा लिए गए संसाधनों को मुक्त करना बहुत महत्वपूर्ण है। @@ -226,14 +227,14 @@ class Clock extends React.Component { return (

नमस्ते, दुनिया!

-

यह {this.state.date.toLocaleTimeString()} है।

+

अभी {this.state.date.toLocaleTimeString()} बजे हैं।

); } } ``` -इन विधियों को "जीवनचक्र विधियां" कहा जाता है। +इन विधियों को "Lifecycle विधियां" कहा जाता है। DOM के लिए कौम्पोनॅन्ट आउटपुट दिए जाने के बाद `componentsDidMount()` फंक्शन चलता है। टाइमर सेट करने के लिए यह एक अच्छी जगह है: @@ -250,7 +251,7 @@ DOM के लिए कौम्पोनॅन्ट आउटपुट दि जबकि `this.props` को React द्वारा स्थापित किया गया है और `this.state` का एक विशेष अर्थ है, यदि आप डेटा प्रवाह में भाग नहीं लेने वाली किसी चीज़ को संग्रहीत करने की आवश्यकता है, तो आप क्लास में अतिरिक्त फ़ील्ड ऐड करने के लिए स्वतंत्र हैं (एक टाइमर ID की तरह)। -हम `componentWillUnmount()` जीवनचक्र विधि में टाइमर को नष्ट कर देंगे: +हम `componentWillUnmount()` Lifecycle विधि में टाइमर को नष्ट कर देंगे: ```js{2} componentWillUnmount() { @@ -290,7 +291,7 @@ class Clock extends React.Component { return (

नमस्ते, दुनिया!

-

यह {this.state.date.toLocaleTimeString()} है।

+

अभी {this.state.date.toLocaleTimeString()} बजे हैं।

); } @@ -312,11 +313,11 @@ ReactDOM.render( 2) इसके बाद React `Clock` कौम्पोनॅन्ट के `render()` फंक्शन को कॉल करता है। यह कैसे React स्क्रीन पर प्रदर्शित किया जाना चाहिए सीखता है। रिएक्ट तो DOM को `Clock` के रेंडर आउटपुट से मैच करने के लिए अपडेट करता है। -3) जब DOM में `Clock` आउटपुट डाला जाता है, तो React `componentDidMount()` जीवनचक्र फंक्शन को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के `tick()` फंक्शन को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। +3) जब DOM में `Clock` आउटपुट डाला जाता है, तो React `componentDidMount()` Lifecycle फंक्शन को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट एक सेकंड में एक बार कौम्पोनॅन्ट के `tick()` फंक्शन को कॉल करने के लिए एक टाइमर सेट करने के लिए ब्राउज़र से पूछता है। 4) हर सेकंड ब्राउज़र `tick()` फंक्शन को कॉल करता है। इसके अंदर, `Clock` कौम्पोनॅन्ट वर्तमान समय वाले ऑब्जेक्ट के साथ `setstate()` कॉल करके UI अपडेट को शेड्यूल करता है। `setState()` कॉल के लिए धन्यवाद, React जानता है कि state बदल गई है, और स्क्रीन पर क्या होना चाहिए जानने के लिए फिर से `render()` फंक्शन को कॉल करता है। इस बार `render()` फंक्शन में `this.state.date` अलग होगा, और इसलिए रेंडर आउटपुट में अपडेटेड समय शामिल होगा। React उसी हिसाब से DOM को अपडेट करता है। -5) यदि DOM से `Clock` कौम्पोनॅन्ट को कभी हटा दिया जाता है, तो React `componentWillUnmount()` जीवनचक्र फंक्शन को कॉल करता है ताकि टाइमर बंद हो जाए। +5) यदि DOM से `Clock` कौम्पोनॅन्ट को कभी हटा दिया जाता है, तो React `componentWillUnmount()` Lifecycle फंक्शन को कॉल करता है ताकि टाइमर बंद हो जाए। ## सही ढंग से state का उपयोग करना {#using-state-correctly} @@ -420,7 +421,7 @@ this.setState(function(state, props) { एक कौम्पोनॅन्ट अपने state को अपने चाइल्ड कौम्पोनॅन्ट के लिए सहारा के रूप में पारित करने का विकल्प चुन सकता है: ```js -

यह {this.state.date.toLocaleTimeString()} है।

+

अभी {this.state.date.toLocaleTimeString()} बजे हैं।

``` यह उपयोगकर्ता द्वारा परिभाषित कौम्पोनॅन्ट के लिए भी काम करता है: @@ -433,7 +434,7 @@ this.setState(function(state, props) { ```js function FormattedDate(props) { - return

यह {props.date.toLocaleTimeString()} है।

; + return

अभी {props.date.toLocaleTimeString()} बजे हैं।

; } ``` From 2e473d561d343e210bb1e44fa6280b0de6d49a84 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Thu, 28 Mar 2019 12:06:42 -0400 Subject: [PATCH 17/22] updating --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index f595a61cb..9f8582773 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -58,7 +58,7 @@ setInterval(tick, 1000); [**Try it on CodePen**](https://codepen.io/gaearon/pen/dpdoYR?editors=0010) -हालांकि, यह तथ्य कि `Clock` एक टाइमर सेट करना और हर सेकंड UI को अपडेट करना `Clock` का कार्यान्वयन विवरण होना चाहिए। +हालांकि, यह एक महत्वपूर्ण आवश्यकता को नज़रअंदाज़ करता है। यह तथ्य कि Clock एक टाइमर सेट करता है और हर सेकंड UI को अपडेट करना Clock को कार्यरूप विवरण होना चाहिए। आदर्श रूप से हम इसे एक बार लिखना चाहते हैं और चाहेंगे की `Clock` स्वयं को अपडेट करे: From cc38fa1b903a27beddc07c7e4dd7f2692e631af1 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Thu, 28 Mar 2019 12:29:16 -0400 Subject: [PATCH 18/22] correction --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 9f8582773..eab478cef 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -79,7 +79,7 @@ State "props" के समान है, लेकिन यह निजी आप `Clock` जैसे फंक्शन कौम्पोनॅन्टों को पांच चरणों में क्लास में बदल सकते हैं: -1. `Clock` फंक्शन कंपोनेंट के नाम की ही एक `[ES6 क्लास]`(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` को एक्सटेंड करता है। +1. `Clock` फंक्शन कंपोनेंट के नाम की ही एक [ES6 क्लास](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` को एक्सटेंड करता है। 2. इसमें `render()` नाम का एक खाली फंक्शन लिखें। From fd54fb82ef7652b0cb9b548fabc90ffda9eb18af Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Fri, 29 Mar 2019 16:43:16 -0400 Subject: [PATCH 19/22] correcting errors --- content/docs/state-and-lifecycle.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index eab478cef..7d4de55d4 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -17,7 +17,7 @@ function tick() { const element = (

नमस्ते, दुनिया!

-

अभी {new Date().toLocaleTimeString()}बजे हैं। +

अभी {new Date().toLocaleTimeString()} बजे हैं।

); @@ -32,7 +32,7 @@ setInterval(tick, 1000); [**Try it on CodePen**](https://codepen.io/gaearon/pen/gwoJZk?editors=0010) -इस खंड में, हम सीखेंगे कि `Clock` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और संपुटित कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। +इस खंड में, हम सीखेंगे कि `Clock` कौम्पोनॅन्ट को वास्तव में पुन: प्रयोज्य और एनकेप्सुलेटेड कैसे बनाया जाए। यह अपना खुद का टाइमर सेट करेगा और हर सेकंड खुद को अपडेट करेगा। घडी देखने में कैसी लगेगी यह हम एन्काप्सुलेटिंग द्वारा शुरु कर सकते हैं: @@ -73,13 +73,13 @@ ReactDOM.render( State "props" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। -हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि क्लासेज के रूप में परिभाषित कौम्पोनॅन्टों में कुछ अतिरिक्त विशेषताएं हैं। लोकल state ठीक यही है: एक सुविधा जो केवल क्लासेज के लिए उपलब्ध है। +हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि क्लासेज के रूप में परिभाषित components में कुछ अतिरिक्त विशेषताएं हैं। लोकल state एक सुविधा है जो केवल क्लासेज के लिए उपलब्ध है। ## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} -आप `Clock` जैसे फंक्शन कौम्पोनॅन्टों को पांच चरणों में क्लास में बदल सकते हैं: +आप `Clock` जैसे फंक्शन components को पांच चरणों में क्लास में बदल सकते हैं: -1. `Clock` फंक्शन कंपोनेंट के नाम की ही एक [ES6 क्लास](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` को एक्सटेंड करता है। +1. `Clock` फंक्शन कंपोनेंट के नाम की ही एक [ES6 क्लास](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` को एक्सटेंड करती है। 2. इसमें `render()` नाम का एक खाली फंक्शन लिखें। @@ -106,9 +106,9 @@ class Clock extends React.Component { `Clock` को अब एक फ़ंक्शन के बजाय एक क्लास के रूप में परिभाषित किया गया है। -हर अपडेट पर `render` फंक्शन कॉल होगा, लेकिन जब तक हम `` को एक ही DOM नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही उदाहरण इस्तेमाल किया जाएगा। इससे हम लोकल state और Lifecycle विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। +हर अपडेट पर `render` फंक्शन कॉल होगा, लेकिन जब तक हम `` को एक ही DOM नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही दृष्टांत इस्तेमाल किया जाएगा। इससे हम लोकल state और Lifecycle विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। -## क्लास में लोकल state ऐड करना {#adding-local-state-to-a-class} +## क्लास में लोकल state डालना {#adding-local-state-to-a-class} हम तीन चरणों में date को props से state में भेजेंगे: @@ -156,7 +156,7 @@ class Clock extends React.Component { } ``` -क्लास के कौम्पोनॅन्टों को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। +क्लास के components को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। 3) `` एलिमेंट से `date` prop निकालें: From b345014f2186d026cbffc70653636dfad6cb09f6 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Sun, 31 Mar 2019 14:54:24 -0400 Subject: [PATCH 20/22] correcting --- content/docs/state-and-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index 7d4de55d4..ff2aff825 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -108,7 +108,7 @@ class Clock extends React.Component { हर अपडेट पर `render` फंक्शन कॉल होगा, लेकिन जब तक हम `` को एक ही DOM नोड में रेंडर करते हैं, तब तक `Clock` क्लास का केवल एक ही दृष्टांत इस्तेमाल किया जाएगा। इससे हम लोकल state और Lifecycle विधियों जैसी अतिरिक्त सुविधाओं का उपयोग कर सकते हैं। -## क्लास में लोकल state डालना {#adding-local-state-to-a-class} +## क्लास में लोकल state ऐड करना {#adding-local-state-to-a-class} हम तीन चरणों में date को props से state में भेजेंगे: From 70b3bbed5bf77e932dd2a0ceaccb83fc3fa769bd Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Sat, 13 Apr 2019 23:57:34 -0400 Subject: [PATCH 21/22] correcting errors --- content/docs/state-and-lifecycle.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/docs/state-and-lifecycle.md b/content/docs/state-and-lifecycle.md index ff2aff825..f50b9880a 100644 --- a/content/docs/state-and-lifecycle.md +++ b/content/docs/state-and-lifecycle.md @@ -73,11 +73,11 @@ ReactDOM.render( State "props" के समान है, लेकिन यह निजी और कौम्पोनॅन्ट द्वारा पूरी तरह से नियंत्रित है। -हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि क्लासेज के रूप में परिभाषित components में कुछ अतिरिक्त विशेषताएं हैं। लोकल state एक सुविधा है जो केवल क्लासेज के लिए उपलब्ध है। +हमने [पहले उल्लेख किया है](/docs/components-and-props.html#functional-and-class-components) कि क्लासेज के रूप में परिभाषित कौम्पोनॅन्ट में कुछ अतिरिक्त विशेषताएं हैं। लोकल state एक सुविधा है जो केवल क्लासेज के लिए उपलब्ध है। ## किसी फंक्शन को क्लास में बदलना {#converting-a-function-to-a-class} -आप `Clock` जैसे फंक्शन components को पांच चरणों में क्लास में बदल सकते हैं: +आप `Clock` जैसे फंक्शन कौम्पोनॅन्ट को पांच चरणों में क्लास में बदल सकते हैं: 1. `Clock` फंक्शन कंपोनेंट के नाम की ही एक [ES6 क्लास](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) बनाएँ, जो `React.Component` को एक्सटेंड करती है। @@ -110,7 +110,7 @@ class Clock extends React.Component { ## क्लास में लोकल state ऐड करना {#adding-local-state-to-a-class} -हम तीन चरणों में date को props से state में भेजेंगे: +हम तीन चरणों में date को props से state में बदलेंगे: 1) `render()` फंक्शन में `this.props.date` को `this.state.date` के साथ बदलें: @@ -127,7 +127,7 @@ class Clock extends React.Component { } ``` -2) एक [class constructor](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes#Constructor) जोड़ें जो प्रारंभिक `this.state` को असाइन करता है: +2) एक [class constructor](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes#Constructor) जोड़ें जो प्रारंभिक `this.state` को असाइन करेगा: ```js{4} class Clock extends React.Component { @@ -156,7 +156,7 @@ class Clock extends React.Component { } ``` -क्लास के components को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। +क्लास के कौम्पोनॅन् को हमेशा बेस कंस्ट्रक्टर को `props` के साथ कॉल करना चाहिए। 3) `` एलिमेंट से `date` prop निकालें: From c36400040460623d65d9b740f746d940f32cb135 Mon Sep 17 00:00:00 2001 From: Charlotte Baptist <43832754+charBap@users.noreply.github.com> Date: Tue, 16 Apr 2019 23:11:35 -0400 Subject: [PATCH 22/22] Translating API reference -> ReactDOM --- content/docs/reference-react-dom.md | 69 +++++++++++++++-------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/content/docs/reference-react-dom.md b/content/docs/reference-react-dom.md index 3732ebe8d..a0324c884 100644 --- a/content/docs/reference-react-dom.md +++ b/content/docs/reference-react-dom.md @@ -6,11 +6,11 @@ category: Reference permalink: docs/react-dom.html --- -If you load React from a `