36 lines
811 B
Markdown
36 lines
811 B
Markdown
# react-timer-mixin
|
|
|
|
Using bare setTimeout, setInterval, setImmediate and requestAnimationFrame calls
|
|
is very dangerous because if you forget to cancel the request before the
|
|
component is unmounted, you risk the callback throwing an exception.
|
|
|
|
If you include TimerMixin, then you can replace your calls to
|
|
`setTimeout(fn, 500)` with `this.setTimeout(fn, 500)` (just prepend `this.`) and
|
|
everything will be properly cleaned up for you.
|
|
|
|
## Installation
|
|
|
|
Install the module directly from npm:
|
|
|
|
```
|
|
npm install react-timer-mixin
|
|
```
|
|
|
|
## Example
|
|
|
|
```js
|
|
var React = require('react');
|
|
var TimerMixin = require('react-timer-mixin');
|
|
|
|
var Component = React.createClass({
|
|
mixins: [TimerMixin],
|
|
componentDidMount() {
|
|
this.setTimeout(
|
|
() => { console.log('I do not leak!'); },
|
|
500
|
|
);
|
|
}
|
|
});
|
|
```
|
|
|