diff --git a/js/noir.ts b/js/noir.ts index 1ca17fa..da93b4f 100644 --- a/js/noir.ts +++ b/js/noir.ts @@ -31,18 +31,15 @@ export function createElement(type, inputProps, ...children) { } export function createRoot(containerNode) { - return { - render: function (element) { - if (!this.rootFiber) this.rootFiber = makeRootFiber(this, containerNode); - - this.rootFiber.props = { children: [element] }; - startRenderLoop(this.rootFiber); - }, + const render = (element) => { + if (!this.rootFiber) { + this.rootFiber = makeFiber(this, RootFiber); + this.rootFiber.dom = containerNode; + } + + this.rootFiber.props = { children: [element] }; + startRenderLoop(this.rootFiber); }; -} -function makeRootFiber(root, containerNode) { - const rootFiber = makeFiber(root, RootFiber); - rootFiber.dom = containerNode; - return rootFiber; + return {render}; }