Скажем, у нас есть объект, начальное состояние которого в redux
:
const contacts = {
viewMode: 'basic',
activeContacts: [
{id:1,name:'ali',...},
{...}
]
}
компонент редуктора Contacts
class SelectBox {
constructor(name, options, /** other params */) {
name: name
options: options
// other props
}
}
class SelectBoxOption {
constructor({ name, value, /** other params */ }) {
name: ''
// other props
}
}
class Contacts extends Component {
render() {
const { contacts } = this.props
// option 1 : map the props using a dynamic object
const selectBox = {
name: 'contacts',
options: contacts.map(k => ({
name: k.name,
value: k.value,
/** other props */
}))
}
// option 2 : map using a class
const selectBox = new SelectBox('contacts', contacts.map(k => new SelectBoxOption(k)))
return (...);
}
}
Мой вопрос: оба варианта одни и те же? или option 1
обеспечивает лучшую производительность рендеринга в случае глубокого объекта (не создавая экземпляр нового класса каждый раз при рендеринге компонента)