diff --git a/src/generators/server-side-rendering/visitors/AwaitBlock.ts b/src/generators/server-side-rendering/visitors/AwaitBlock.ts index c77bd8dbf8..9e811ffcf1 100644 --- a/src/generators/server-side-rendering/visitors/AwaitBlock.ts +++ b/src/generators/server-side-rendering/visitors/AwaitBlock.ts @@ -25,11 +25,11 @@ export default function visitAwaitBlock( visit(generator, childBlock, child); }); - generator.append('`; return `'); + generator.append('`; return function(ctx) { return `'); node.then.children.forEach((child: Node) => { visit(generator, childBlock, child); }); - generator.append(`\`;}(${snippet})) }`); + generator.append(`\`;}(Object.assign({}, ctx, { ${node.value}: __value }));}(${snippet})) }`); } diff --git a/src/generators/server-side-rendering/visitors/Component.ts b/src/generators/server-side-rendering/visitors/Component.ts index 5b69cc04d9..83564ba9ae 100644 --- a/src/generators/server-side-rendering/visitors/Component.ts +++ b/src/generators/server-side-rendering/visitors/Component.ts @@ -22,15 +22,12 @@ export default function visitComponent( } const bindingProps = node.bindings.map(binding => { - const { name } = getObject(binding.value); - const tail = binding.value.type === 'MemberExpression' - ? getTailSnippet(binding.value) + const { name } = getObject(binding.value.node); + const tail = binding.value.node.type === 'MemberExpression' + ? getTailSnippet(binding.value.node) : ''; - const keypath = block.contexts.has(name) - ? `${name}${tail}` - : `ctx.${name}${tail}`; - return `${binding.name}: ${keypath}`; + return `${binding.name}: ctx.${name}${tail}`; }); function getAttributeValue(attribute) {