summaryrefslogtreecommitdiff
path: root/packages/renderers/renderer-lit/server.js
diff options
context:
space:
mode:
authorGravatar Elliott Marquez <5981958+e111077@users.noreply.github.com> 2021-11-22 13:01:32 -0800
committerGravatar GitHub <noreply@github.com> 2021-11-22 15:01:32 -0600
commitec01d1b43f069d909a18bfb73ee414f954d25c9a (patch)
tree4d72b2cba89772d1c16eb9624fcfa16e1251c554 /packages/renderers/renderer-lit/server.js
parentc22e4c69ec3c544abda22d48526193c66351ccd9 (diff)
downloadastro-ec01d1b43f069d909a18bfb73ee414f954d25c9a.tar.gz
astro-ec01d1b43f069d909a18bfb73ee414f954d25c9a.tar.zst
astro-ec01d1b43f069d909a18bfb73ee414f954d25c9a.zip
fix(lit-renderer): certain reactive props not init correctly (#1874)
* fix(lit-renderer): reactive props not init correctly * test(renderer-lit): implement testing suggestiosn * chore(renderer-lit): upload changeset * fix(renderer-lit): call connCallback on server * fix(renderer-lit): do not set reserved JSX props * fix(renderer-lit): do not check for reserved attributes Co-authored-by: Nate Moore <nate@skypack.dev>
Diffstat (limited to 'packages/renderers/renderer-lit/server.js')
-rw-r--r--packages/renderers/renderer-lit/server.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/renderers/renderer-lit/server.js b/packages/renderers/renderer-lit/server.js
index c827f1ad1..e08b2bf9a 100644
--- a/packages/renderers/renderer-lit/server.js
+++ b/packages/renderers/renderer-lit/server.js
@@ -28,10 +28,18 @@ function* render(tagName, attrs, children) {
const instance = new LitElementRenderer(tagName);
// LitElementRenderer creates a new element instance, so copy over.
+ const Ctr = getCustomElementConstructor(tagName);
for (let [name, value] of Object.entries(attrs)) {
- instance.setAttribute(name, value);
+ // check if this is a reactive property
+ if (name in Ctr.prototype) {
+ instance.setProperty(name, value);
+ } else {
+ instance.setAttribute(name, value);
+ }
}
+ instance.connectedCallback();
+
yield `<${tagName}`;
yield* instance.renderAttributes();
yield `>`;