From 1664f461805c7b8ac772a7b67c1f9f5faa52dd4d Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 26 May 2016 16:30:04 +0100 Subject: [PATCH] Add comment --- src/Velociraptor.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Velociraptor.js b/src/Velociraptor.js index 9132f7b7b9..0abf34b230 100644 --- a/src/Velociraptor.js +++ b/src/Velociraptor.js @@ -107,7 +107,16 @@ module.exports = React.createClass({ //console.log("enter: "+JSON.stringify(node.props._restingStyle)); } else if (node === null) { + // Velocity stores data on elements using the jQuery .data() + // method, and assumes you'll be using jQuery's .remove() to + // remove the element, but we don't use jQuery, so we need to + // blow away the element's data explicitly otherwise it will leak. + // This uses Velocity's internal jQuery compatible wrapper. + // See the bug at // https://github.com/julianshapiro/velocity/issues/300 + // and the FAQ entry, "Preventing memory leaks when + // creating/destroying large numbers of elements" + // (https://github.com/julianshapiro/velocity/issues/47) Velocity.Utilities.removeData(this.nodes[k]); } this.nodes[k] = node;