floating-ui / floating-ui/popper.js.org

Memory leak in the tutorial example

Open
#47 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
MDX
Stars
85
Forks
406
PR merge metrics
No merged PRs in 30d

Description

Tutorial shows the example implementation and we can find there:

```js
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:

```js
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)
...
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.