Skip to content

matomo & state #294

Nov 29, 2022 · 1 comments · 1 reply
Discussion options

You must be logged in to vote

因為 title 更新時,都會重新去呼叫我的 cb,現在如果我的 instacne 已經被建立好了,history listen 去 call TrackPage(),但這個動作不是在 useEffect 裡面,所以 call function 並不能保證我拿到的值會是 setState 完的最新值,畢竟 setState 是非同步的

有點類似,因為你其實只有第一次 useEffect 會去呼叫 matomoTrack,然後在 matomoTrack 裡面監聽 history 的改變呼叫 trackPage,因此我推測可能你拿到的 title 永遠都是第一次 render 的 title?

問題二:history.listen 為什麼放在 matomoTrack 裡面,但他卻可以偵測到 history 的變動?明明 instance 建立之後就不會再被觸發到 matomoTrack 這個函式,我應該要怎麼下關鍵字估狗 或是怎麼做 才可以比較好的查詢理解這個問題

你只要呼叫了就可以偵測到變動,這就像是 button.addEventListener() 一樣,跟你放在哪邊沒關係

問題二延伸:承上題,這邊明明 function 已經沒有 call 到但仍然可以使用到裡面的項目,這算不算是 closure 的概念,如果是的話,這邊理論上應該會有記憶體洩漏的問題?

算是 closure 沒錯,記憶體洩漏看起來倒是沒有,沒看到什麼儲存 reference 的東西

問題三:如果今天,使用者希望像是這樣的頁面, /TobeSignOff/:id 他全部一起統計在一個叫做 …

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@s103071049
Comment options

Answer selected by s103071049
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants