Merge pull request #1247 from pygy/cleanup-on-unmount

Better cleanup when unmounting
This commit is contained in:
Leo Horie 2016-08-17 09:24:30 -04:00 committed by GitHub
commit f67f1efd71

View file

@ -2,24 +2,23 @@
var Vnode = require("../render/vnode")
var autoredraw = require("../api/autoredraw")
var dummy = {view: function() {}}
module.exports = function(renderer, pubsub) {
return function(root, component) {
pubsub.unsubscribe(root.redraw)
if (component === null) {
renderer.render(root, [])
delete root.redraw
return
}
var run = autoredraw(root, renderer, pubsub, function() {
renderer.render(
root,
Vnode(component === null ? dummy : component, undefined, undefined, undefined, undefined, undefined)
Vnode(component, undefined, undefined, undefined, undefined, undefined)
)
})
run()
if (component === null) {
pubsub.unsubscribe(root.redraw)
delete root.redraw
}
}
}