我正在嘗試使用 javascript 撰寫 2d 游戲,并且正在開發一個位置系統,如果用戶角色與硬幣重疊,則值會發生變化。我使用 .getBoundingClientRect() 來獲取位置并且函式本身很好。但是,每當我添加一個 if 陳述句來說明該函式是否為真(它是真的)時,它都會給我這個錯誤。有什么方法可以解決嗎?(附上代碼截圖)
代碼 Chrome 控制臺錯誤影像
uj5u.com熱心網友回復:
該函式elementsOverlap接受 2 個引數,您在呼叫它時都沒有提供這些引數。
鑒于這user是這些引數之一,該函式將不會user在全域范圍內使用該變數。它將使用user應該已提供的引數。
嘗試洗掉引數,因為它們是全域的:
function elementOverlap(){
// ... your code
}
uj5u.com熱心網友回復:
const handleScroll = () => {
if(!ref.current) return
if (ref.current.getBoundingClientRect().y <= -580 || null)
{
console.log(ref.current.getBoundingClientRect().y);
setSticky(true);
}
else {
setSticky(false);
}
};
refs 在重新渲染時可以為 null,因此在訪問元素 refs 的屬性之前始終檢查 null。以下是 gaearon 對 refs 的評價。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/519573.html
上一篇:如何創建一個函式,該函式將使用元組作為回傳型別回傳整數陣列的總和、平均值、最小值和最大值?
下一篇:這個函式大綱究竟如何用于鏈表?
