Propriedades Sublinhadas

Você pode criar um método começando com _, isso quer dizer que o código é vanilla JS e vai ignorar proxies.

Com isto você pode adicionar ou remover eventos no DOM.

import Nullstack from "nullstack";

class Application extends Nullstack {
  _listener() {
    // do something
  }

  async hydrate() {
    window.addEventListener("resize", this._listener, false);
  }

  async terminate() {
    window.removeEventListener("resize", this._listener, false);
  }

  render() {
    return <main>Content</main>;
  }
}

export default Application;

Você pode usar esta técnica para ignorar o contexto

import Nullstack from "nullstack";

class Application extends Nullstack {
  _method(prop) {
    // do something
  }

  async hydrate() {
    // notice its not passing an object as context normally requires
    this._method(true)
  }

}

export default Application;

Esta técnica pode ser util para integrações com bibliotecas que não lidam bem com proxies ou para guardar referencias de elementos do DOM.

import Nullstack from "nullstack";

class Application extends Nullstack {

  async hydrate({ self }) {
    this._toaster = new MeuPluginDeToasterManeiro()
    this._videoRef = self.element.querySelector('video')
  }

}

export default Application;

Próximos passos

🎉 Parabéns! Você concluiu os conceitos básicos!

⚔ Aprenda sobre a inicialização da aplicação.

Próximos passos

➡️ Aprenda sobre Principais conceitos: RefsTem alguma pergunta ou sugestão? Participe do nosso Discord