Влияет ли создание экземпляра нового класса на основе prop на производительность рендера? - PullRequest
1 голос
/ 21 марта 2020

Скажем, у нас есть объект, начальное состояние которого в 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 обеспечивает лучшую производительность рендеринга в случае глубокого объекта (не создавая экземпляр нового класса каждый раз при рендеринге компонента)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...