JSFiddle - React, Tailwind, and code Playground
HTML
<before-super></before-super>
<after-super></after-super>
JavaScript
let needsTest1 = true;
class ReentryBeforeSuper extends HTMLElement {
constructor() {
if (needsTest1) {
needsTest1 = false;
nested = new ReentryBeforeSuper();
document.body.appendChild(nested);
}
super();
this.attachShadow({mode: 'open'}).innerHTML = 'ReentryBeforeSuper';
}
}
customElements.define('before-super', ReentryBeforeSuper);
let needsTest2 = true;
class ReentryAfterSuper extends HTMLElement {
constructor() {
super();
this.attachShadow({mode: 'open'}).innerHTML = 'ReentryAfterSuper';
if (needsTest2) {
needsTest2 = false;
document.body.appendChild(new ReentryAfterSuper());
}
}
}
customElements.define('after-super', ReentryAfterSuper);