【发布时间】:2021-09-29 15:14:06
【问题描述】:
我正在使用 React 和 TypeScript 构建一个应用程序......当我尝试 .innerHTML 或 innerText 时,我得到了这个错误:
对象可能是“空”。 TS2531
我是 TypeScript 的新手,我不知道我应该做什么,我知道这与界面有关......但我找不到具体的解决方案。
如果有人能用我的代码解决我的问题,那就太好了。
提前致谢。我让我的代码如下:
const Home: FC = () => {
const percentage = 91;
const startingMinutes = 25;
let time = startingMinutes * 60;
const countdownEl = document.getElementById("countdown");
const updateCountDown = () => {
const minutes = Math.floor(time / 60);
let seconds = time % 60;
countdownEl.innerHTML=`${minutes}: ${seconds}`;
time--;
};
const changeTimer = () => {
var timer = document.getElementById("countdown");
var time = document.getElementById("time");
// timer.innerText=time;
};
【问题讨论】:
-
我同意@David Remie,需要进行选角。此外,我认为您正在尝试引用 DOM 元素,甚至在它安装之前。尝试使用 ref 或在 useEffect 或 useLayoutEffect 钩子中访问 DOM 元素。
标签: javascript reactjs typescript