You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/choosing-the-state-structure.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -377,7 +377,7 @@ function Message({ initialColor }) {
377
377
378
378
## State में डुप्लिकेशन से बचें {/*avoid-duplication-in-state*/}
379
379
380
-
यह मेनू लिस्ट कौम्पोनॅन्ट आपको कई में से एक यात्रा नाश्ता चुनने देता है:
380
+
यह मेनू लिस्ट कौम्पोनॅन्ट आपको कई यात्रा के नास्ते में से एक यात्रा नाश्ता चुनने देता है:
381
381
382
382
<Sandpack>
383
383
@@ -422,9 +422,9 @@ button { margin-top: 10px; }
422
422
423
423
</Sandpack>
424
424
425
-
वर्तमान में, यह सिलेक्टेड आइटम को `selectedItem` state वेरिएबल में एक ऑब्जेक्ट के रूप में संग्रहीत करता है। हालाँकि, यह बहुत अच्छा नहीं है: **`selectedItem` में शामिल कंटेंट `items` के भीतर से एक आइटम के समान ऑब्जेक्ट है।** इसका मतलब है कि item के बारे में जानकारी दो जगहों पर डुप्लिकेट है।
425
+
अभी, यह सिलेक्टेड आइटम को `selectedItem` state वेरिएबल में एक ऑब्जेक्ट के रूप में रखता है। हालाँकि, यह बहुत अच्छा नहीं है: **`selectedItem` में शामिल कंटेंट `items` में से एक आइटम के समान ऑब्जेक्ट है।** इसका मतलब है कि आइटम के बारे में जानकारी दो जगहों पर डुप्लिकेट है।
426
426
427
-
यह समस्या क्यों है? आइए प्रत्येक item को एडिटेबल बनाएं:
427
+
यह समस्या क्यों है? आइए हर एक item को एडिटेबल बनाएं:
428
428
429
429
<Sandpack>
430
430
@@ -487,9 +487,9 @@ button { margin-top: 10px; }
487
487
488
488
</Sandpack>
489
489
490
-
इटम पर "Choose" पर क्लिक करते हैं और फिर उसे *एडिट* करते हैं, **इनपुट अपडेट होता है लेकिन नीचे का लेबल एडिट को रिफ्लेक्ट नहीं करता है।** ऐसा इसलिए है क्योंकि आपके पास डुप्लिकेट state है, और आप `selectedItem` को अपडेट करना भूल गए हैं।
490
+
ध्यान दें की कैसे जब आप पहले आइटम के "Choose" पर क्लिक करते हैं और फिर उसे *एडिट* करते हैं, **इनपुट अपडेट होता है लेकिन नीचे का लेबल एडिट को रिफ्लेक्ट नहीं करता है।** ऐसा इसलिए है क्योंकि आपके पास डुप्लिकेट state है, और आप `selectedItem` को अपडेट करना भूल गए हैं।
491
491
492
-
पर आप `selectedItem` को इसमें अपडेट कर सकते हैं, डुप्लिकेट को निकालना आसान हल है. इस उदाहरण में, एक `selectedItem` ऑब्जेक्ट के बजाय (जो `items` के अंदर ऑब्जेक्ट्स के साथ डुप्लिकेशंस बनाता है), आप state में `selectedId`रखते हैं, और *फिर* किसी item के लिए `items` array खोजकर `selectedItem` प्राप्त करते हैं उस ID के साथ:
492
+
हालाँकि आप `selectedItem` को भी अपडेट कर सकते हैं, लेकिन डुप्लीकेशन को निकालना आसान हल होगा। इस उदाहरण में, एक `selectedItem` ऑब्जेक्ट के बजाय (जो `items` के अंदर ऑब्जेक्ट्स के साथ डुप्लिकेशंस बनाता है), आप state में `selectedId`रख सकते हैं, और फिर उस ID के साथ item को `items` array में खोजकर `selectedItem` प्राप्त कर सकते हैं:
493
493
494
494
<Sandpack>
495
495
@@ -554,7 +554,7 @@ button { margin-top: 10px; }
554
554
555
555
</Sandpack>
556
556
557
-
(वैकल्पिक रूप से, आप selected index को state में रख सकते हैं।)
557
+
(इसके बजाये, आप selected index को state में रख सकते हैं।)
558
558
559
559
State को इस तरह डुप्लिकेट किया जाता था:
560
560
@@ -568,7 +568,7 @@ State को इस तरह डुप्लिकेट किया जात
568
568
569
569
डुप्लिकेशन चला गया है, और आप केवल ज़रूरी state रखते हैं!
570
570
571
-
अब अगर आप *selected* item को एडिट करते हैं, तो नीचे दिया गया मैसेज तुरंत अपडेट हो जाएगा। ऐसा इसलिए है क्योंकि `setItems` फिर से रेंडर ट्रिगर करता है, और `items.find(...)` आइटम को अपडेट किया गया title के साथ ढूंढेगा। आपको *selected item* को state में रखने की ज़रूरत नहीं थी, क्योंकि केवल *selected ID* ही ज़रूरी है। बाकी की गणना रेंडर के दौरान की जा सकती है।
571
+
अब अगर आप *selected* item को एडिट करते हैं, तो नीचे दिया गया मैसेज तुरंत अपडेट हो जाएगा। ऐसा इसलिए है क्योंकि `setItems` फिर से रेंडर ट्रिगर करता है, और `items.find(...)` आइटम को अपडेट किये गए title के साथ ढूंढेगा। आपको *selected item* को state में रखने की ज़रूरत नहीं थी, क्योंकि केवल *selected ID* ही ज़रूरी है। बाकी की कैलकुलेशन रेंडर के दौरान की जा सकती है।
572
572
573
573
## डीप नेस्टेड state से बचें {/*avoid-deeply-nested-state*/}
0 commit comments