在做使用rea時(shí)泥彤,event打印到控制臺(tái)上的屬性值均為null
是因?yàn)镽eact里面的事件并不是真實(shí)的DOM事件莉掂,而是在原生DOM事件上進(jìn)行了封裝與合成。
合成事件是由事件池來(lái)管理的高帖,合成事件對(duì)象可能會(huì)被重用找御,合成事件的所有屬性也會(huì)隨之被清空。所以當(dāng)在異步處理程序(如setTimeout等等)中或者瀏覽器控制臺(tái)中去訪問(wèn)合成事件的屬性乳丰,默認(rèn)react 會(huì)把其屬性全部設(shè)為null掌测。
如果就想在控制臺(tái)輸出打印結(jié) 可以在console.log()前面添加event.persist()或者e..persist(),其實(shí)就是將當(dāng)前的合成事件從事件池中移除了产园,所以能夠繼續(xù)保有對(duì)該事件的引用以及仍然能訪問(wèn)該事件的屬性汞斧。