ممکنه برای شما هم پیش اومده باشه زمانی که میخواهید یک لیست از Item هارو render کنید از Index array ها در Key prop استفاده کنید.
اگر تا الان با استفاده از Array method ها (مثل map و یا filter ) تلاش کرده باشید، یک لیست از Item هارو Render کنید با این خطا مواجه میشوید:
Warning: Each child in a list should have a unique "key" prop.
ریکت نیاز به یک کلید (Key) دارد برای شناسایی هر Item از یک Array زمان Rendering، درواقع ریکت با استفاده از Key مشخص میکند، کدام آیتم از آرایه متعلق به کدام کامپوننت است.
زمانی که شما به درستی برای Item هاتون کلید مشخص کرده باشید، اون Key به ریکت کمک میکنه برای متوجه شدن اینکه دقیقا چه اتفاقی افتاده تا بتونه بهینهترین Update رو روی DOM انجام بده.
در سادهترین تعریف، اگر به درستی Key prop رو مشخص کرده باشید و یکی از عناصر Array تغییر پیدا کنه، ریکت بجای اینکه کل لیست رو مجددا Render کنه فقط اون عضوی که تغییر کرده رو Update میکنه.
اگر دیتایی که استفاده میکنید از یک Database میاد، میتونید از ID ردیف ها استفاده کنید که کاملا یکتا (unique) هستند.
و اگر دیتایی که استفاده میکنید Local هست خودتون میتونید با استفاده از یکسری پکیج ها و کتابخانه ها مثل uuid برای هر Item یک key یکتا بسازید.