3 回答

TA貢獻1830條經(jīng)驗 獲得超9個贊
React-Event綁定的事件回調(diào)函數(shù)中打印e.nativeEvent.currentTarget可以發(fā)現(xiàn)結(jié)果是#document, 也就是說React的事件機制應(yīng)該是全部綁定在了document上。
之前在componentDidMount里面通過document.body.addEventListener綁定了點擊事件,因為body其實也是document的下級,所以是先執(zhí)行body綁定的回調(diào)函數(shù)。
另外即使改成document.addEventListener來綁定點擊事件(假設(shè)是function1),在ReactElement中使用e.stopPropagation()是無法阻止function1的調(diào)用,要想阻止function1調(diào)用,可能只能e.nativeEvent.stopImmediatePropagation();

TA貢獻1878條經(jīng)驗 獲得超4個贊
React 在組件間傳遞數(shù)據(jù)的確比較惱火。目前基本上只有通過 props 來傳遞。所以你必須在 button 和 listitem 共有的父組件上設(shè)置 state,再通過傳遞這個父組件定義事件處理函數(shù)來更新狀態(tài),通過狀態(tài)更新來觸發(fā)子組件的更新
- 3 回答
- 0 關(guān)注
- 474 瀏覽
添加回答
舉報