การอภิปรายเกี่ยวกับ id ที่ไม่ซ้ำกันใน React
ดังที่คุณทราบแล้ว ในอาร์เรย์ของอ็อบเจ็กต์จะต้องมี
id ที่ไม่ซ้ำกัน มาดูกันว่า
พวกมันมาจากไหน
อาร์เรย์ของอ็อบเจ็กต์สามารถมีที่มาได้สองทาง: ไม่ว่าจะถูกส่งมาให้เราจากเซิร์ฟเวอร์ หรือถูกสร้างขึ้น บนไคลเอ็นต์ (นั่นคือในเบราว์เซอร์)
ข้อมูลที่ถูกส่งมาให้เราจากเซิร์ฟเวอร์ โดยทั่วไป ถูกเก็บไว้ที่นั่นในฐานข้อมูล ฐานข้อมูล (DB) มีชนิดเป็น SQL (ตัวอย่างเช่น mySQL, PostgreSQL) หรือ NoSQL (ตัวอย่างเช่น MongoDB)
ฐานข้อมูล SQL โดยทั่วไปมี id เป็นตัวเลข
ซึ่งฐานข้อมูลกำหนดให้โดยอัตโนมัติ
ตามลำดับจากน้อยไปหามาก
ฐานข้อมูล NoSQL โดยทั่วไปมี id
ซึ่งเป็นสตริงที่ไม่ซ้ำกันแบบสุ่ม
สันนิษฐานว่าสตริงเหล่านี้จะ
ไม่มีการซ้ำกัน (collisions) ระหว่างสอง
องค์ประกอบของอาร์เรย์
ความไม่ซ้ำกันของ id ได้รับการรับประกันโดย
ความยาวของสตริงสุ่มที่ยาวเพียงพอ
- ยาวมากพอที่ความน่าจะเป็นของการซ้ำกัน
ของสองสตริงจะใกล้เคียงกับศูนย์
ในขณะเดียวกัน ยิ่งมีข้อมูลในฐานข้อมูลมากเท่าไร ความน่าจะเป็น ของการชนก็จะยิ่งมากขึ้น งานของโปรแกรมเมอร์ คือการประมาณปริมาณข้อมูลล่วงหน้า และกำหนดความยาวที่เหมาะสมของสตริงสุ่ม เพื่อให้ความน่าจะเป็นของการชนมีน้อยที่สุด (น้อยพอที่จะถือว่าเป็นที่ยอมรับได้)