Discussie over unieke id's in React
Zoals je al weet, moeten er in een array van objecten
unieke id aanwezig zijn. Laten we
uitzoeken waar ze vandaan komen.
Arrays van objecten kunnen twee oorsprongen hebben: ofwel zijn ze naar ons gestuurd door de server, ofwel gegenereerd in de client (dus in de browser).
Gegevens die naar ons zijn gestuurd door de server, zijn over het algemeen daar opgeslagen in een database. Databases (DB) zijn er in soorten zoals SQL (bijvoorbeeld mySQL, PostgreSQL) of NoSQL (bijvoorbeeld MongoDB).
SQL-databases hebben over het algemeen numerieke
id, die automatisch door de database
worden toegewezen in oplopende volgorde.
NoSQL-databases hebben over het algemeen id,
die willekeurige unieke strings
vertegenwoordigen. Er wordt van uitgegaan dat deze strings geen
overeenkomsten (collisions) hebben bij twee
elementen van de array.
De uniciteit van id wordt bereikt dankzij
voldoende grote lengte van de willekeurige strings
- zo groot dat de waarschijnlijkheid van een overeenkomst
van twee strings bijna nul zal zijn.
Tegelijkertijd, hoe meer gegevens in de DB, hoe groter de kans op een collision. De taak van de programmeur bestaat eruit om van tevoren de omvang van de gegevens in te schatten en de optimale lengte van willekeurige strings te bepalen, zodat de kans op collisions minimaal is (klein genoeg om als aanvaardbaar te worden beschouwd).