Javascript Canvas.clearRect不是React中的函数

Javascript Canvas.clearRect不是React中的函数,javascript,reactjs,canvas,Javascript,Reactjs,Canvas,试图在我的投资组合网站中添加一些画布动画,我从另一个项目复制了一个简单的动画,但我遇到了一个问题。clearRect不是React中的函数:( 当从requestAnimationFrame调用animate时,您没有传递绘图上下文。它第一次起作用,因为您调用了this.animate(c);并将c直接传递到animate 您需要创建一个函数来捕获c,并将其传递到下一帧 requestAnimationFrame(() => this.animate(c)); 当从requestAnim

试图在我的投资组合网站中添加一些画布动画,我从另一个项目复制了一个简单的动画,但我遇到了一个问题。clearRect不是React中的函数:(


当从
requestAnimationFrame
调用
animate
时,您没有传递绘图上下文。它第一次起作用,因为您调用了
this.animate(c);
并将
c
直接传递到
animate

您需要创建一个函数来捕获
c
,并将其传递到下一帧

requestAnimationFrame(() => this.animate(c));

当从
requestAnimationFrame
调用
animate
时,您没有传递绘图上下文。它第一次起作用,因为您调用了
this.animate(c);
并将
c
直接传递到
animate

您需要创建一个函数来捕获
c
,并将其传递到下一帧

requestAnimationFrame(() => this.animate(c));

componentDidMount
中,添加
console.log(c)时,您在控制台中看到了什么
?@AlexWayne我得到了``CanvasRenderingContext2Dcanvas:``以及所有其他信息,比如fillStyle、字体等。我可以简单地用它来画画,它只是.clearRectin
组件的didMount
当你添加
console.log(c)时,你在控制台中看到了什么
?@AlexWayne我得到了``CanvasRenderingContext2Dcanvas:``以及所有其他信息,如fillStyle、字体等。我可以简单地用它来画画,它只是.clearRect
requestAnimationFrame(() => this.animate(c));