element icon indicating copy to clipboard operation
element copied to clipboard

add `createEffect` method from the `lume`'s Element3D

Open trusktr opened this issue 2 years ago • 0 comments

this.createEffect() will make an effect that is conveniently stopped in disconnectedCallback. This is useful for creating effects in connectedCallback and then not having to use createRoot and disconnectedCallback to stop them.

Currently:

connectedCallback() {
  super.connectedCallback()
  
  createRoot(dispose => {
    this.dispose = dispose
    createEffect(() => {
      // ...
      onCleanup(() => {...})
    })
  })
}

disconnectedCallback() {
  super.disconnectedCallback()
  this.dispose()
}

Using this.createEffect:

connectedCallback() {
  super.connectedCallback()
  
  this.createEffect(() => {
    // ...
    onCleanup(() => {...})
  })
}

trusktr avatar Feb 29 '24 23:02 trusktr