Tracks if use is active on the page. If user does not perform any events on the page
during a specified timeout, IdleSensor fires an event and changes its state.
Uses these events to track user activity:
['mousemove', 'mousedown', 'resize', 'keydown', 'touchstart', 'wheel', 'visibilitychange']All events, except visibilitychange, are fired by window object and the list can
be set in props.
import {IdleSensor} from 'libreact/lib/IdleSensor';
<IdleSensor ms={10000} onChange={(idle) => console.log(idle)}>
{({idle}) =>
<div>
User is idle: {idle ? 'TRUE' : 'FALSE'}
</div>
}
</IdleSensor>Signature
interface IIdleSensorProps {
events?: string[];
ms?: number;
onChange?: (idle: boolean) => void;
throttle?: number;
}, where
events— optional, list ofwindowevents to listen to.ms— optional, number, time in milliseconds after which to consider user idle, defaults to1000 * 60 * 2.onChange— optional, callback, fires whenIdleSensorchanges its state, receives a single boolean argument.throttle— optional, number, time in milliseconds used to throttle events, defaults to50. This prop cannot be changed dynamically.
Enhancer that injects idle prop into your component.
Stateful component class decorator that injects idle prop.