если ты мапаешь массив, то реакт не будет различать эти элементы, для него они будут одинаковые, если не передать key. Поэтому при изменении списка, он будет перерендериваться полностью
Вот смотри, два варика:
1) Мы не передаем key prop
2) Мы передаем key prop
В первом случае, если реакт будет каждый раз апдейтить содержимое каждого элемента листа, потому что будет думать что один и тот же лист айтем, но просто поменялся.
Второй случай разделяется на 2 варианта:
1) Если key генериться каждый ререндер, то ситуация будет даже хуже, чем когда мы не передаем key prop, насколько я понимаю, потому что реакт будет думать что при каждом ререндере у нас будет новый элемент и будет анмаунтить и маунтить заного каждый лист айтем.
2) Если key будет одним и тем же каждый ререндер, то все будет ок, будут использоваться каждый раз существующие инстансы дом элементов, допустим, при реордере