Lifecycle Methods Any lifecycle method you may need can be accessed from the params of your render function. const MyElement = customElement(({ adoptedCallback, connectedCallback, disconnectedCallback, attributeChangedCallback, }) => { // ... return html`<div>My Element</div>`; }); The only difference is that these are callback registrations, not the methods themselves. So the same function you would normally write as a method is just passed in as a callback instead. const MyElement = customElement(({ connectedCallback }) => { connectedCallback(() => { console.log('Connected!'); }); return html`<div>My Element</div>`; }); If you need to support forms, pass true to the formAssociated option in the second argument of customElement(). const MyElement = customElement(({ formAssociatedCallback, formDisabledCallback, formResetCallback, formStateRestoreCallback, }) => { // ... return html`<input>`; }, { formAssociated: true });