Есть ли методы на Immutable.js Записи реплицируются?

#javascript #immutable.js

#javascript #immutable.js

Вопрос:

Мое приложение загружает около 30-50 экземпляров an Immutable.js Record . Я хотел бы написать a getter , который применяет несколько операций к данным, прежде чем возвращать их.

Эффективно ли это? Или у меня в итоге будет 30-50 копий в памяти любого метода, который я напишу?

eta:

Это мой текущий шаблон:

 export const EntityRecord = Immutable.Record({
  // key/values
})

class Entity extends EntityRecord {

  getProp() {
    return this.get('property')
  }

}
 

Ответ №1:

Это зависит от реализации. Вы могли бы просто написать служебный метод

 export function myRecordGetter(myRecord) {
   ... do your work here ....
   return thingYouComputed;
}
 

Затем просто импортируйте и вызовите его. Если вы планируете «расширить» функциональность записи, это зависит от того, как вы это делаете.

Комментарии:

1. спасибо @rooftop. я добавил фрагмент в OP. знаете ли вы, будет ли создание static метода on Entity столь же эффективным, как создание выделенной служебной функции? (это может быть простой вопрос — я никогда не делал true oop )