I want to render an array of messages:
This code works:
render() {
return this.props.messages.map((message) => (
<Message
key={message.id}
message={message}
/>
));
}
but what is the difference if I write code like this:
render() {
return this.props.messages.map((message) => (
<Message
key={generateRandomNum()}
message={message}
/>
));
}
Here, the key always generates a random number when rendered. Both versions work in my application.
Also, if I have 1000 messages, do all messages get rerendered if an additional message gets added to the array of messages - this.props.messages
? ---- It seems like a heavy load on the app to always rerender every message when the component
receives new props
.