humus-old/common-mistakes.md
2019-03-20 15:29:00 -05:00

725 B

webpack:///../lib/@avocado/packages/entity/trait.js?:29
      entity.on("".concat(type, ".trait-").concat(traitType), listeners[type], this);

This is because you subclassed Trait but forgot to pass through the arguments from your subclass constructor to the superclass constructor. Always default to writing your Trait definition like:

class MyTrait extends Trait {

  initialize() {
    // ...
  }

}

All trait initialization should be done in initialize.

If you need really need to access arguments in your subclass constructor, opt to pass along arguments instead, such as:

class MyTrait extends Trait {

  constructor(entity, params, state) {
    super(...arguments);
    // ...
  }

}