Skip to content

Commit 894b6b6

Browse files
Brijen MakwanaBrijen Makwana
Brijen Makwana
authored and
Brijen Makwana
committed
review changes
1 parent a75b1be commit 894b6b6

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/content/learn/choosing-the-state-structure.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ function Message({ initialColor }) {
377377
378378
## State में डुप्लिकेशन से बचें {/*avoid-duplication-in-state*/}
379379
380-
यह मेनू लिस्ट कौम्पोनॅन्ट आपको कई में से एक यात्रा नाश्ता चुनने देता है:
380+
यह मेनू लिस्ट कौम्पोनॅन्ट आपको कई यात्रा के नास्ते में से एक यात्रा नाश्ता चुनने देता है:
381381
382382
<Sandpack>
383383
@@ -422,9 +422,9 @@ button { margin-top: 10px; }
422422
423423
</Sandpack>
424424
425-
वर्तमान में, यह सिलेक्टेड आइटम को `selectedItem` state वेरिएबल में एक ऑब्जेक्ट के रूप में संग्रहीत करता है। हालाँकि, यह बहुत अच्छा नहीं है: **`selectedItem` में शामिल कंटेंट `items` के भीतर से एक आइटम के समान ऑब्जेक्ट है।** इसका मतलब है कि item के बारे में जानकारी दो जगहों पर डुप्लिकेट है।
425+
अभी, यह सिलेक्टेड आइटम को `selectedItem` state वेरिएबल में एक ऑब्जेक्ट के रूप में रखता है। हालाँकि, यह बहुत अच्छा नहीं है: **`selectedItem` में शामिल कंटेंट `items` में से एक आइटम के समान ऑब्जेक्ट है।** इसका मतलब है कि आइटम के बारे में जानकारी दो जगहों पर डुप्लिकेट है।
426426
427-
यह समस्या क्यों है? आइए प्रत्येक item को एडिटेबल बनाएं:
427+
यह समस्या क्यों है? आइए हर एक item को एडिटेबल बनाएं:
428428
429429
<Sandpack>
430430
@@ -487,9 +487,9 @@ button { margin-top: 10px; }
487487
488488
</Sandpack>
489489
490-
इटम पर "Choose" पर क्लिक करते हैं और फिर उसे *एडिट* करते हैं, **इनपुट अपडेट होता है लेकिन नीचे का लेबल एडिट को रिफ्लेक्ट नहीं करता है।** ऐसा इसलिए है क्योंकि आपके पास डुप्लिकेट state है, और आप `selectedItem` को अपडेट करना भूल गए हैं।
490+
ध्यान दें की कैसे जब आप पहले आइटम के "Choose" पर क्लिक करते हैं और फिर उसे *एडिट* करते हैं, **इनपुट अपडेट होता है लेकिन नीचे का लेबल एडिट को रिफ्लेक्ट नहीं करता है।** ऐसा इसलिए है क्योंकि आपके पास डुप्लिकेट state है, और आप `selectedItem` को अपडेट करना भूल गए हैं।
491491
492-
पर आप `selectedItem` को इसमें अपडेट कर सकते हैं, डुप्लिकेट को निकालना आसान हल है. इस उदाहरण में, एक `selectedItem` ऑब्जेक्ट के बजाय (जो `items` के अंदर ऑब्जेक्ट्स के साथ डुप्लिकेशंस बनाता है), आप state में `selectedId` रखते हैं, और *फिर* किसी item के लिए `items` array खोजकर `selectedItem` प्राप्त करते हैं उस ID के साथ:
492+
हालाँकि आप `selectedItem` को भी अपडेट कर सकते हैं, लेकिन डुप्लीकेशन को निकालना आसान हल होगा। इस उदाहरण में, एक `selectedItem` ऑब्जेक्ट के बजाय (जो `items` के अंदर ऑब्जेक्ट्स के साथ डुप्लिकेशंस बनाता है), आप state में `selectedId` रख सकते हैं, और फिर उस ID के साथ item को `items` array में खोजकर `selectedItem` प्राप्त कर सकते हैं:
493493
494494
<Sandpack>
495495
@@ -554,7 +554,7 @@ button { margin-top: 10px; }
554554
555555
</Sandpack>
556556
557-
(वैकल्पिक रूप से, आप selected index को state में रख सकते हैं।)
557+
(इसके बजाये, आप selected index को state में रख सकते हैं।)
558558
559559
State को इस तरह डुप्लिकेट किया जाता था:
560560
@@ -568,7 +568,7 @@ State को इस तरह डुप्लिकेट किया जात
568568
569569
डुप्लिकेशन चला गया है, और आप केवल ज़रूरी state रखते हैं!
570570
571-
अब अगर आप *selected* item को एडिट करते हैं, तो नीचे दिया गया मैसेज तुरंत अपडेट हो जाएगा। ऐसा इसलिए है क्योंकि `setItems` फिर से रेंडर ट्रिगर करता है, और `items.find(...)` आइटम को अपडेट किया गया title के साथ ढूंढेगा। आपको *selected item* को state में रखने की ज़रूरत नहीं थी, क्योंकि केवल *selected ID* ही ज़रूरी है। बाकी की गणना रेंडर के दौरान की जा सकती है।
571+
अब अगर आप *selected* item को एडिट करते हैं, तो नीचे दिया गया मैसेज तुरंत अपडेट हो जाएगा। ऐसा इसलिए है क्योंकि `setItems` फिर से रेंडर ट्रिगर करता है, और `items.find(...)` आइटम को अपडेट किये गए title के साथ ढूंढेगा। आपको *selected item* को state में रखने की ज़रूरत नहीं थी, क्योंकि केवल *selected ID* ही ज़रूरी है। बाकी की कैलकुलेशन रेंडर के दौरान की जा सकती है।
572572
573573
## डीप नेस्टेड state से बचें {/*avoid-deeply-nested-state*/}
574574

0 commit comments

Comments
 (0)