Memory leak in the tutorial example
jjagielka opened this issue · 0 comments
jjagielka commented
Tutorial shows the example implementation and we can find there:
show() {
...
modifiers: [
...options.modifiers,
{ name: 'eventListeners', enabled: true },
]
options.modifiers
is an array, so the above code keeps on adding new object at each call of show()
.
The same mistake is in hide()
function.
You should change it to something like that:
function enableListeners(modifiers, value) {
const modifier = modifiers.find((x) => x.name === 'eventListeners');
if (!modifier) return [...modifiers, { name: 'eventListeners', enabled: open }];
modifier.enabled = value;
return modifiers;
}
show() {
...
modifiers: enableListeners(options.modifiers, true)
...