Reactда яңа idлар билан муаммолар
База маълумотларидан бизга куйидаги объектлар массиви келган бўлсин:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Кўриб турганингиздек, id тартиб рақамлари билан берилган.
Аммо, шуни ҳисобга олишимиз керакки, рақамлар
ўртасида бўшлиқлар бўлиши мумкин, масалан, 3-чидан
кейин дароқ 5-чи ёки 6-чи келиши мумкин.
Шу сабабдан бизнинг клиент скрипти keyingi
id қандай бўлишини билолмайди
(бизнинг ҳолимизда бу албатта 4 эмас).
Янги id лар сервернинг база маълумотлари томонидан яратилади.
Бу клиент томонида ишлашда айрим муаммоларни
келтириб чиқариши мумкин. Моҳияти шунда: тасаввур қилайлик,
шакл ёрдамида биз ўз массивимизга янги элемент
қўшдик. Аммо, биз шаклдан олинган маълумотларни қўшиб
бўлмайди - аксинча, биз янги элементнинг id си
қандай бўлишини билмаймиз!
Биз серверга янагиси тартибдаги id ни беруши учун
сўров юборишимиз керак,
ва фақат шундан кейин элементни объектлар массивимизга
қўша оламиз. Бу экранда маълумотларнинг кўриншида кечикимни
келтириб чиқаради: маълумотлар серверга етгунча,
сервер уларни бизга қайтаргунча - маълум вақт
ўтади.