【发布时间】:2020-12-19 09:38:33
【问题描述】:
我对 TS 完全陌生,我正在尝试用画布做一些简单的绘图。我没有收到任何错误,但即使是函数内部的控制台日志也没有显示任何内容。
function gameLoader() {
const gameCanvas = document.getElementById("gameCanvas") as HTMLCanvasElement;
var ctx = gameCanvas.getContext("2d");
ctx.fillStyle = "blue";
ctx.fillRect(0, 0, 150, 75);
console.log(document.getElementById("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx"));
}
export default class SnakeTheGame extends React.Component<
ISnakeTheGameProps,
{}
> {
public render(): React.ReactElement<ISnakeTheGameProps> {
return (
<div className={styles.snakeTheGame} id="gameWindow">
<canvas
id={"gameCanvas"}
height="500px"
width="500px"
onLoad={() => gameLoader()}
></canvas>
</div>
);
}
}
我只是不知道如何解决它。我将不胜感激。
【问题讨论】:
-
SnakeTheGame是否被任何东西渲染?您的应用是否正在渲染到 DOM 中? -
是的,Canvas 有正确的尺寸和 ID。 (是 sharepoint webpart)
-
使用 ref,不要使用 getElementById
标签: reactjs typescript sharepoint web-parts