HTML Canvas boiler template
Ming Sun / May 08, 2023
2 min read • ––– views
React component
The following code will create a boiler template for HTML canvas.
import { useEffect } from "react";
const CanvasBoilerTemplate = () => {
  useEffect(() => {
    let canvasParent = document.getElementById("canvasParent");
    let canvas = document.getElementById("canvas1");
    canvas.style.background = "black";
    let ctx = canvas.getContext("2d");
    canvas.width = canvasParent.offsetWidth;
    canvas.height = 400;
    let mouse = { x: undefined, y: undefined };
    canvas.addEventListener("mousemove", function (event) {
      mouse.x = event.offsetX;
      mouse.y = event.offsetY;
    });
    function animate() {
      ctx.clearRect(0, 0, canvas.width, canvas.height);
      //   ctx.fillStyle = "rgb(0,0,0)";
      //   ctx.fillRect(0, 0, canvas.width, canvas.height);
      ctx.fillStyle = "#fff";
      ctx.beginPath();
      ctx.arc(canvas.width / 2, canvas.height / 2, 100, 0, Math.PI * 2);
      ctx.closePath();
      ctx.fill();
      requestAnimationFrame(animate);
    }
    animate();
  }, []);
  return (
    <div id="canvasParent" className="w-full">
      <canvas id="canvas1"></canvas>
    </div>
  );
};
export default CanvasBoilerTemplate;