mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
1ae9d514b9
With this commit, component only render child components if they have different props (shallow equality). Otherwise, we trust the reactivity system to make sure that all impacted components are updated
72 lines
2.3 KiB
Plaintext
72 lines
2.3 KiB
Plaintext
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
|
|
exports[`Memo if no prop change, prevent renderings from above 1`] = `
|
|
"function anonymous(bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, component, comment } = bdom;
|
|
let { markRaw } = helpers;
|
|
|
|
function slot1(ctx, node, key = \\"\\") {
|
|
let b6 = text(ctx['state'].a);
|
|
let b7 = text(ctx['state'].b);
|
|
let b8 = text(ctx['state'].c);
|
|
return multi([b6, b7, b8]);
|
|
}
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let b2 = text(ctx['state'].a);
|
|
let b3 = text(ctx['state'].b);
|
|
let b4 = text(ctx['state'].c);
|
|
let b9 = component(\`Memo\`, {a: ctx['state'].a, b: ctx['state'].b,slots: markRaw({'default': {__render: slot1, __ctx: ctx}})}, key + \`__1\`, node, ctx);
|
|
return multi([b2, b3, b4, b9]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`Memo if no props, prevent renderings from above 1`] = `
|
|
"function anonymous(bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, component, comment } = bdom;
|
|
let { markRaw } = helpers;
|
|
|
|
function slot1(ctx, node, key = \\"\\") {
|
|
return component(\`Child\`, {value: ctx['state'].value}, key + \`__2\`, node, ctx);
|
|
}
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let b2 = component(\`Child\`, {value: ctx['state'].value}, key + \`__1\`, node, ctx);
|
|
let b4 = component(\`Memo\`, {slots: markRaw({'default': {__render: slot1, __ctx: ctx}})}, key + \`__3\`, node, ctx);
|
|
return multi([b2, b4]);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`Memo if no props, prevent renderings from above 2`] = `
|
|
"function anonymous(bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, component, comment } = bdom;
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
return text(ctx['props'].value);
|
|
}
|
|
}"
|
|
`;
|
|
|
|
exports[`Memo if no props, prevent renderings from above (work with simple html) 1`] = `
|
|
"function anonymous(bdom, helpers
|
|
) {
|
|
let { text, createBlock, list, multi, html, toggler, component, comment } = bdom;
|
|
let { markRaw } = helpers;
|
|
|
|
function slot1(ctx, node, key = \\"\\") {
|
|
return text(ctx['state'].value);
|
|
}
|
|
|
|
return function template(ctx, node, key = \\"\\") {
|
|
let b2 = text(ctx['state'].value);
|
|
let b4 = component(\`Memo\`, {slots: markRaw({'default': {__render: slot1, __ctx: ctx}})}, key + \`__1\`, node, ctx);
|
|
return multi([b2, b4]);
|
|
}
|
|
}"
|
|
`;
|