Senior
რა მოხდება, თუ მასივის ინდექსს გასაღებად გადმოწერთ?
sobes.tech AI
პასუხი AI-სგან
React-ში მასივის ინდექსის გამოყენება გასაღებად (key) შეიძლება გამოიწვიოს შესრულების პრობლემები და კომპონენტების განახლების სიზუსტის საკითხები. როდესაც ელემენტების სია იცვლება ან ელემენტები ემატება/წაშლილია, ინდექსები იცვლება, და React შეიძლება არასწორად შეესაბამოს კომპონენტებს, რაც გამოიწვევს ზედმეტ რენდერებს ან მდგომარეობის დაკარგვას.
მაგალითად, თუ გაქვთ სია:
{items.map((item, index) => (
<ListItem key={index} item={item} />
))}
და დაამატებთ ახალი ელემენტს სიის დასაწყისში, ყველა გასაღები გადაიწევს, და React თითქმის ყველა კომპონენტს თავიდან შექმნის, მაშინაც კი, თუ მხოლოდ ერთი უნდა განახლდეს.
უკეთესია გამოიყენოთ უნიკალური და სტაბილური იდენტიფიკატორები მონაცემებიდან, მაგალითად id:
{items.map(item => (
<ListItem key={item.id} item={item} />
))}