diff --git a/src/client/packages/idom-client-react/package.json b/src/client/packages/idom-client-react/package.json index 42ffc6d46..48cd86a99 100644 --- a/src/client/packages/idom-client-react/package.json +++ b/src/client/packages/idom-client-react/package.json @@ -1,7 +1,7 @@ { "name": "idom-client-react", "description": "A client for IDOM implemented in React", - "version": "0.8.3", + "version": "0.8.4", "author": "Ryan Morshead", "license": "MIT", "type": "module", diff --git a/src/client/packages/idom-client-react/src/component.js b/src/client/packages/idom-client-react/src/component.js index 9217985d6..a2f87ae42 100644 --- a/src/client/packages/idom-client-react/src/component.js +++ b/src/client/packages/idom-client-react/src/component.js @@ -28,7 +28,7 @@ export function Layout({ saveUpdateHook, sendEvent, loadImportSource }) { } } -export function Element({ model, key }) { +export function Element({ model }) { if (model.importSource) { return html`<${ImportedElement} model=${model} />`; } else { @@ -36,21 +36,6 @@ export function Element({ model, key }) { } } -export function elementChildren(modelChildren) { - if (!modelChildren) { - return []; - } else { - return modelChildren.map((child) => { - switch (typeof child) { - case "object": - return html`<${Element} key=${child.key} model=${child} />`; - case "string": - return child; - } - }); - } -} - function StandardElement({ model }) { const config = react.useContext(LayoutConfigContext); const children = elementChildren(model.children); @@ -116,6 +101,24 @@ function ImportedElement({ model }) { } } +export function elementChildren(modelChildren) { + if (!modelChildren) { + return []; + } else { + return modelChildren.map((child, index) => { + switch (typeof child) { + case "object": + return html`<${Element} + key=${child.key || index.toString()} + model=${child} + />`; + case "string": + return child; + } + }); + } +} + function elementAttributes(model, sendEvent) { const attributes = Object.assign({}, model.attributes);