diff --git a/src/diff/index.js b/src/diff/index.js index 63b59ee8c6..3c4b96929f 100644 --- a/src/diff/index.js +++ b/src/diff/index.js @@ -147,6 +147,9 @@ export function diff( c._vnode = newVNode; newVNode._dom = oldVNode._dom; newVNode._children = oldVNode._children; + newVNode._children.forEach(vnode => { + if (vnode) vnode._parent = newVNode; + }); if (c._renderCallbacks.length) { commitQueue.push(c); } diff --git a/test/browser/lifecycles/shouldComponentUpdate.test.js b/test/browser/lifecycles/shouldComponentUpdate.test.js index ae0a6a66e9..6b5f18709a 100644 --- a/test/browser/lifecycles/shouldComponentUpdate.test.js +++ b/test/browser/lifecycles/shouldComponentUpdate.test.js @@ -857,4 +857,60 @@ describe('Lifecycle methods', () => { // '