Javascript addEventListener不是使用可选链接的函数错误
我有一个谷歌跟踪代码抛出我的错误Javascript addEventListener不是使用可选链接的函数错误,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我有一个谷歌跟踪代码抛出我的错误 t.addEventListener is not a function 代码: 这里有什么问题?我已经在pubads方法上使用了?。这说明googletag.pubads()的返回值不是函数。它不是未定义的或空的(如果是,由于可选链接,它不会尝试将addEventListener作为函数调用),但它不是函数。旁注:尽可能避免类型断言。请确保该值不为null,而不是上面的非null类型断言(即!)。(您已经为googletag之后的一个完成了该操作,因此您可
t.addEventListener is not a function
代码:
这里有什么问题?我已经在pubads方法上使用了
?
。这说明googletag.pubads()
的返回值不是函数。它不是未定义的
或空的
(如果是,由于可选链接,它不会尝试将addEventListener
作为函数调用),但它不是函数。旁注:尽可能避免类型断言。请确保该值不为null,而不是上面的非null类型断言(即!
)。(您已经为googletag
之后的一个完成了该操作,因此您可以删除该操作。)@T.J.Crowder会删除代码>解决问题?我不知道它为什么会坏,在我的本地制作中很好,但不是制作。不,这是旁注。这里没有人可以帮助解决这个问题,因为问题中没有足够的上下文(而且很难编辑它以提供足够的上下文)。您必须调试它:将代码更改为:const v=googletag.pubads();v、 addEventListener(
…并使用浏览器或IDE中内置的调试器在v.addEventListener
行上放置断点。当代码在断点处停止时,查看v
的值。如果googletag.pubads()
不是一个函数,它是如何在我的本地工作的?一些用户在生产中偶尔会出现此问题。
React.useEffect(() => {
if (googletag?.pubads) {
googletag!.pubads()?.addEventListener!('slotRenderEnded', slotRenderEnded);
}
return () => null;
});