Skip to content

Possible EventEmitter memory leak detected #14

@ZephD

Description

@ZephD

possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.

Every instance of Loader adds a 'change' event listener in componentDidMount to the same EventEmitter. By default, if over 10 listeners are added with the same type (i.e. 'change') to a EventEmitter, events.js throws this error (should be warning imo) in the console.

It is a common scenario to use more than 10 loaders on one page, for example a dashboard of multiple async cards.

To reproduce, simply mount multiple loaders. (Code below untested)

import React from 'react'
import ReactDOM from 'react-dom'
import Loader from 'react-loader-advanced'

const App = () => (
  <div>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
    <Loader show><div /></Loader>
  </div>
)

ReactDOM.render(<App />, document.body)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions