簡體   English   中英

反應合成事件奇怪的行為

[英]React Synthetic Event strange behavior

我搜尋了其他答案, 這個答案最接近我正在處理的答案。

但是我的問題仍然存在。 我無法訪問綜合事件的屬性。 shiftKey

在某些情況下,我使用的是與react-d3-tree庫打包在一起onClick處理程序

我以為這只是庫引起的問題。 但是在單擊處理程序中,我可以將事件打印到控制台,並且可以看到shiftKey參數已按預期設置。 但是每次我嘗試訪問event.shiftKey ,都會收到錯誤消息:

index.js:1452警告:出於性能原因,此合成事件被重用。 如果您看到此消息,那么您正在訪問已發布/無效的合成事件上的屬性“ shiftKey”。 設置為空。 如果必須保留原始的合成事件,請使用event.persist()。

參見我的代碼示例。

更新:回購以復制問題https://github.com/mwilde345/reactBrokenClick

不應依賴對象在控制台中出現的方式。 對象是通過JavaScript中的引用傳遞的。 如果對象內部在某個時刻進行了更新,則它們將在控制台中進行更新。

persist()創建事件對象的副本,因此它在被調用時應作為快照顯示在控制台中。 persist()一起發生問題意味着這出了點問題。

問題是由第三方組件react-d3-tree Tree引起的。 事件對象是異步使用的,用戶代碼中的persist()不會有令人滿意的結果,相反,應該在Tree組件中同步調用persist()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM