manniru
1/25/2015 - 6:12 PM

set-interval-mixin.js

set-interval-mixin.js

/*
SetIntervalMixin for React.

Usage:

var MyComponent = React.createClass({
    getInitialState: function () {
        return { value: 0 };
    },
    
    componentDidMount: function () {
        // Increase value by 1 every second.
        this.setInterval(function () {
            this.setState({ value: this.state.value + 1 });
        }.bind(this), 1000);
    },
    
    render: function () {
        return <h1>Value: {this.state.value}</h1>;
    }
});
*/
var SetIntervalMixin = {
    componentWillMount: function () {
        this.intervals = [];
    },

    componentWillUnmount: function () {
        this.intervals.map(clearInterval);
    },

    setInterval: function () {
        this.intervals.push(setInterval.apply(null, arguments));
    }
};

module.exports = SetIntervalMixin;