render = (...args) => {
if (args.length < 3) {
throw new Error("`render` needs three arguments! (did you forget to pass `this` as #1?)");
}
let [component, props, element] = args;
if (!element) {
element = document.createElement('div');
element.reactRoot = createRoot(element);
}
element.reactRoot.render(React.createElement(component, {...props, __element: element}));
return element;
}