import TestCase from '../../TestCase'; import HitBox from './hit-box'; const React = window.React; class Persistence extends React.Component { state = { persisted: 0, pooled: [], }; addPersisted = event => { let {persisted, pooled} = this.state; event.persist(); if (event.type === 'mousemove') { this.setState({ persisted: persisted + 1, pooled: pooled.filter(e => e !== event), }); } }; addPooled = event => { let {pooled} = this.state; if (event.type === 'mousemove' && pooled.indexOf(event) === -1) { this.setState({pooled: pooled.concat(event)}); } }; render() { const {pooled, persisted} = this.state; return (
  • Mouse over the pooled event box
  • Mouse over the persisted event box
  • The pool size should not increase above 1, but reduce to 0 when hovering over the persisted region.

    Add Pooled Event:

    Add Persisted Event:

    Pool size: {pooled.length}

    Persisted size: {persisted}

    ); } } export default Persistence;