import { useState, useEffect } from 'react'; import { createHook } from 'hookleton'; const useMousePosition = createHook(() => { const [position, setPosition] = useState({ x: null, y: null }); const handleMouseMove = e => setPosition({ x: e.pageX, y: e.pageY }); useEffect(() => { window.addEventListener('mousemove', handleMouseMove); return () => window.removeEventListener('mousemove', handleMouseMove); }, []); return [position]; }); const MouseHost = () => (useMousePosition.use(), null); const Mouse = () => { const [mousePosition] = useMousePosition(); return (
x: {mousePosition.x}, y: {mousePosition.y}
); }; // put in a table of 1x12 cells const TableMouse = () => ( {Array.from({ length: 12 }).map((_, idx) => ( ))}
); let c = 0; const Any = () => { useEffect(() => () => (c = 0), []); return

I should be rendered ONE time but: {++c}

; }; // repeat 100 times export default () => ( <>
    {Array.from({ length: 100 }).map((_, idx) => (
  • ))}
);