Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

120
Visualizações
¿Cómo se registra el evento onMouseMove en un lienzo ctx en React?

Acabo de terminar un curso sobre React y estoy transfiriendo un proyecto JS previo de Vanilla a React como ejercicio de aprendizaje.

En mi código anterior (que funciona correctamente) tengo una pila de 2 lienzos HTML con una imagen cargada en el ctx inferior y un rectángulo blanco cargado en el ctx superior. Luego uso el detector de eventos 'mousemove' de JS para borrar el rectángulo blanco en la parte superior para revelar la imagen a continuación.

Creo que estoy muy cerca de la solución en mi código React . (Si sigue el enlace, solo verá una página en blanco; ese es el rectángulo blanco en la parte superior de la imagen. He verificado que la imagen está efectivamente debajo).

Cargué la imagen inferior y el rectángulo superior dentro de useEffect() para que React no obtenga ningún ctx de lienzo indefinido cuando el componente se renderiza por primera vez. Sin embargo, tengo dificultades para conectar la funcionalidad de mi borrador en 'eraseImageHandler'. ¿Alguna idea de lo que puedo estar haciendo mal? Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En el renderizado inicial, no sabe qué tan grande es la imagen, por lo que no puede calcular correctamente los tamaños del lienzo. Si la imagen tuviera un tamaño intrínseco como el que se muestra a continuación, sería capaz de calcularlo.

 <Fragment> <div className={classes.stack}> <canvas ref={bottomCanvasRef} /> <canvas ref={topCanvasRef} onMouseMove={eraseImageHandler} /> </div> <img ref={imageRef} hidden width={300} height={300} src="https://upload.wikimedia.org/wikipedia/commons/4/41/Sunflower_from_Silesia2.jpg" alt="Flower" /> </Fragment>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda