ახალი id-ების პრობლემები React-ში

დავუშვათ, ბაზიდან მოგვიდა შემდეგი ობიექტების მასივი:

jsxconst prods = [
  {id: 1, name: 'product1', cost: 100},
  {id: 2, name: 'product2', cost: 200},
  {id: 3, name: 'product3', cost: 300},
];

როგორც ხედავთ, id დანომრილია თანმიმდევრობით. თუმცა, გასათვალისწინებელია, რომ რიცხვებს შეიძლება ჰქონდეთ ხარვეზები, მაგალითად, 3-ის შემდეგ შეიძლება პირდაპირ მოჰყვეს 5-ე ან 6-ე. ამის გამო, ჩვენმა კლიენტურმა სკრიპტმა ვერ იცის, რა იქნება შემდეგი id (ჩვენს შემთხვევაში ეს არ არის აუცილებლად 4).

ახალ id-ებს ქმნის სერვერის მონაცემთა ბაზა. ამან შეიძლება გამოიწვიოს გარკვეული პრობლემები კლიენტის მხარეს მუშაობისას. არსი შემდეგია: წარმოვიდგინოთ, რომ ფორმის საშუალებით დავამატეთ ახალი ელემენტი ჩვენს მასივში. თუმცა, ჩვენ ვერ ვიღებთ და უბრალოდ ვამატებთ ფორმიდან მიღებულ მონაცემებს - ბოლოს და ბოლოს, ჩვენ არ ვიცით რა id ექნება ახალ ელემენტს!

ჩვენ დაგვჭირდება სერვერზე მოთხოვნის გაგზავნა, რათა ის მოგვცეს შემდეგ თანმიმდევრობით id-ს, და მხოლოდ ამის შემდეგ დავამატოთ ელემენტი ჩვენს მასივში ობიექტების. ამან გამოიწვევს დაყოვნება მონაცემების ეკრანზე ჩვენებისას: სანამ მონაცემები მივა სერვერზე, სანამ სერვერი გამოგვიგზავნის მათ უკან - გაივლის გარკვეული დრო.