iT邦幫忙

0

React.js 練習javascript簡單計數器,出現錯誤訊息,我該怎麼解決呢?

  • 分享至 

  • xImage

你好!各位大大,我今天參考練習書籍:iT邦幫忙鐵人賽-從 Hooks 開始,讓你的網頁React 起來系列-原生Javascript-計數器成品的範例,我照書上辦codepen.io,
我把作者範例的code練習自己照打上去,打到downElement.addEventListener這段程式碼結束後,我的codepen.io跳出錯誤訊息是Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')

這是我的codepen截下來的圖片:
https://ithelp.ithome.com.tw/upload/images/20220503/20145992ImdDSts9FP.png
https://ithelp.ithome.com.tw/upload/images/20220503/20145992bCNTDespLT.png
這是我的codepen的程式碼部分:

const upElement=document.querySelector('.chevron-up');
const downElement=document.querySelector('chevron-down');

const numberElement=document.querySelector('.number');

upElement.addEventListener("click",(e)=>{
   const currentNumber=Number(numberElement.textContent);
  numberElement.textContent=currentNumber+1;
});

downElement.addEventListener("click", e => {
  const currentNumber = Number(numberElement.textContent);
  numberElement.textContent = currentNumber - 1;
});

想請教各位大大,後來我把作者的codepen的js部分貼上去就沒有跳出任何錯誤訊息,而且可以執行,為甚麼自己練習打到downElement.addEventListener這段程式碼結束後,codepen.io跳出錯誤訊息是Uncaught TypeError: Cannot read properties of null (reading 'addEventListener'),我該怎麼解決這個問題呢?
所以是addEventListener無法同時使用嗎?

看更多先前的討論...收起先前的討論...
EN iT邦好手 1 級 ‧ 2022-05-03 13:00:15 檢舉
請補上完整的 JS 程式碼或是 codepen 連結
這是我的codepen:https://codepen.io/thyweb
在java_simple_count
貼教學的是對的,自己打的是錯的,那就是打錯
用文件比對工具(例如: DiffNow )比較看看很快就會找到問題了

然後要學著看錯誤訊息, Cannot read properties of null 很容易碰到, 看訊息內容跟錯誤行數就知道是 downElement.addEventListener 出問題, 表示 downElement 是 null, 再去查你在哪裡宣告 downElement, 檢查看看有沒有問題, 不然就用 console.log 印出來看看.
謝謝妳
我在找找看,謝謝你的建議
Vader iT邦研究生 4 級 ‧ 2022-05-05 16:42:09 檢舉
不是 Rect.js 是React唷
謝謝妳,我已經修改了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
EN
iT邦好手 1 級 ‧ 2022-05-03 13:08:03
downElement=document.querySelector('chevron-down');

應該是要選 chevron-down 這個 class 吧:

downElement=document.querySelector('.chevron-down');

好哦,我在檢查一下程式碼

0
Vader
iT邦研究生 4 級 ‧ 2022-05-03 14:50:11

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')

應該是你沒辦法加到的事件,所以是你要去檢查這個要加的有沒拼錯

好的,謝謝你,我在檢查一下程式碼

我要發表回答

立即登入回答