A Higher Order Component to make React Components garbage collectable when unmounted.
Learn more about garbage collection and trashable
and why you should use it here.
npm install --save trashable-react
import makeComponentTrashable from 'trashable-react';
class Component extends React.Component {
componentDidMount() {
this.props.registerPromise(apiCall()).then(() => {
// ...
}).catch(() => {
// ...
});
}
}
// Passes the registerPromise() function to Component
export default makeComponentTrashable(Component);
You need to register the promise before you add your then
and catch
handlers. Otherwise, you will not get the garbage collection benefits.
// Do this
const registeredPromise = registerPromise(promise);
registeredPromise.then(() => {});
// NOT this
const handledPromise = promise.then(() => {});
registerPromise(handledPromise);