stage.jsx

380 B · jsx · 12 lines

1import { useEffect, useRef } from 'react';2import { stage } from './stage.js';34export function Stage({ onStage, deps = [], className = 'stage', ...rest }) {5  const ref = useRef(null);6  const live = useRef(null);7  useEffect(() => {8    live.current ??= stage(ref.current);9    onStage(live.current);10  }, deps);11  return <canvas ref={ref} className={className} {...rest} />;12}