[英]React Synthetic Event strange behavior
我搜尋了其他答案, 這個答案最接近我正在處理的答案。
但是我的問題仍然存在。 我無法訪問綜合事件的屬性。 像shiftKey
在某些情況下,我使用的是與react-d3-tree庫打包在一起的onClick處理程序
我以為這只是庫引起的問題。 但是在單擊處理程序中,我可以將事件打印到控制台,並且可以看到shiftKey
參數已按預期設置。 但是每次我嘗試訪問event.shiftKey
,都會收到錯誤消息:
index.js:1452警告:出於性能原因,此合成事件被重用。 如果您看到此消息,那么您正在訪問已發布/無效的合成事件上的屬性“ shiftKey”。 設置為空。 如果必須保留原始的合成事件,請使用event.persist()。
參見我的代碼示例。
不應依賴對象在控制台中出現的方式。 對象是通過JavaScript中的引用傳遞的。 如果對象內部在某個時刻進行了更新,則它們將在控制台中進行更新。
persist()
創建事件對象的副本,因此它在被調用時應作為快照顯示在控制台中。 與persist()
一起發生問題意味着這出了點問題。
問題是由第三方組件react-d3-tree
Tree
引起的。 事件對象是異步使用的,用戶代碼中的persist()
不會有令人滿意的結果,相反,應該在Tree
組件中同步調用persist()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.