React Lists మరియు Keys లలో నైపుణ్యం సాధించండి

Reactలో లిస్టులను రెండర్ చేయడం సులభం, కానీ దానిని సరిగ్గా చేయడం కష్టం.

చాలా మంది డెవలపర్లు array indexని keyగా ఉపయోగిస్తారు. ఇది ఒక తప్పు. దీనివల్ల బగ్స్ మరియు నెమ్మదైన పనితీరు (performance) ఏర్పడతాయి.

Reactలో డైనమిక్ డేటాను మీరు ఎలా హ్యాండిల్ చేయాలో ఇక్కడ చూడండి.

React లిస్టులను ఎలా ఉపయోగిస్తుంది

arraysలను UI ఎలిమెంట్స్‌గా మార్చడానికి React map() మెథడ్‌ను ఉపయోగిస్తుంది. మీరు map() ఉపయోగించినప్పుడు, React ప్రతి డేటా భాగాన్ని ఒక componentగా మారుస్తుంది.

Keys పాత్ర

React ఒక Virtual DOMని ఉపయోగిస్తుంది. డేటా మారినప్పుడు, React కొత్త డేటాను పాత డేటాతో పోల్చి చూస్తుంది. ఈ ప్రక్రియను reconciliation అంటారు.

Keys ప్రత్యేక గుర్తింపు చిహ్నాలుగా (unique identifiers) పనిచేస్తాయి. ఏ ఐటెమ్ మారింది, కదిలింది లేదా తొలగించబడింది అనే విషయాన్ని ఇవి Reactకు ఖచ్చితంగా తెలియజేస్తాయి.

Indexని Keyగా ఉపయోగించడం ఎందుకు ప్రమాదకరం

Index (0, 1, 2...)ని keyగా ఉపయోగించడం వల్ల మూడు ప్రధాన సమస్యలు ఏర్పడతాయి:

  • Component State Errors: మీరు ఒక లిస్టును సార్ట్ (sort) చేసినప్పుడు, input fields లేదా checkboxes తప్పు ఐటెమ్ యొక్క డేటాను చూపించవచ్చు.
  • Performance Drops: ఏ ఐటెమ్ ఏది అనేది React ట్రాక్ చేయలేదు. దీనివల్ల కేవలం ఒక ఐటెమ్‌ను మాత్రమే కాకుండా, తరచుగా మొత్తం లిస్టును రీ-రెండర్ (re-render) చేస్తుంది.
  • Visual Bugs: మీ UI సరిగ్గా ఉన్నట్లు అనిపించవచ్చు, కానీ ఐటెమ్స్ మారినప్పుడు అంతర్గత లాజిక్ (internal logic) విఫలమవుతుంది.

Keys ఉపయోగించడానికి సరైన విధానం

మీ యాప్‌ను వేగంగా మరియు స్థిరంగా (stable) ఉంచడానికి, ఈ నియమాలను పాటించండి:

  • Unique IDs ఉపయోగించండి: ఎల్లప్పుడూ మీ డేటాబేస్ నుండి వచ్చే IDs (UUID లేదా primary key వంటివి) ఉపయోగించండి.
  • ఎప్పుడూ Math.random() ఉపయోగించకండి: రెండరింగ్ సమయంలో keysని జనరేట్ చేయడం వల్ల, ప్రతి అప్‌డేట్‌పై React ప్రతి ఎలిమెంట్‌ను మళ్ళీ సృష్టిస్తుంది. ఇది పనితీరును (performance) దెబ్బతీస్తుంది.
  • Keys స్థిరంగా ఉంచండి: ఒకే డేటా భాగం కోసం దాని పూర్తి లైఫ్ సైకిల్ (lifecycle) అంతటా key ఒకేలా ఉండాలి.

క్లుప్తమైన పోలిక

ఫీచర్: స్థిరత్వం (Stability) Index ఉపయోగించడం: అస్థిరమైనది (Unstable) Unique ID ఉపయోగించడం: అత్యంత స్థిరమైనది (Highly Stable)

ఫీచర్: పనితీరు (Performance) Index ఉపయోగించడం: తక్కువ (Poor) Unique ID ఉపయోగించడం: ఉత్తమమైనది (Optimal)

ఫీచర్: స్టేట్ భద్రత (State Safety) Index ఉపయోగించడం: సురక్షితం కాదు (Unsafe) Unique ID ఉపయోగించడం: 100% సురక్షితం (Safe)

డెవలపర్ల కోసం సారాంశం

map() మెథడ్‌ను ఉపయోగించండి. key ప్రాప్‌కు ఒక ప్రత్యేకమైన, స్థిరమైన IDని పంపండి. మారే, సార్ట్ అయ్యే లేదా ఫిల్టర్ అయ్యే ఏ లిస్టుకైనా array indexని ఉపయోగించకండి.

Source: https://dev.to/banti_kevat_8e2d123bb7994/react-me-lists-aur-keys-kaise-use-karein-explained-in-hindi-c64