perf: should not trigger child update if changed prop is declared emit listener

close #2072
This commit is contained in:
Evan You
2020-09-14 18:58:30 -04:00
parent 4de5b111ee
commit 124c385baf
2 changed files with 41 additions and 6 deletions

View File

@@ -81,4 +81,27 @@ describe('renderer: component', () => {
render(h(Comp2), root)
expect(serializeInner(root)).toBe('<span>foo</span>')
})
// #2072
it('should not update Component if only changed props are declared emit listeners', () => {
const Comp1 = {
emits: ['foo'],
updated: jest.fn(),
render: () => null
}
const root = nodeOps.createElement('div')
render(
h(Comp1, {
onFoo: () => {}
}),
root
)
render(
h(Comp1, {
onFoo: () => {}
}),
root
)
expect(Comp1.updated).not.toHaveBeenCalled()
})
})