我在下面有一個ReactJS組件。即使我的組件沒有對焦,我也想聽一下按鍵。它將始終呈現,但它不是網頁上唯一的組件。當我按下SHIFT鍵時,事件監聽器將調用一個函數。該組件不是我網頁上的最頂層組件;它有一個父母。如何確保事件偵聽器始終在ReactJS子組件內調用?
Component extends React.Component {
componentWillMount(): void {
document.addListener('keyDown', this._handleKeyDown);
}
componentWillUnmount(): void {
document.removeListender('keyDown', this._handleKeyDown);
}
}
有時會表現正常,當我按下一個按鈕,但有時我確實有再次點擊此組件上得到它以確認按鍵。
我怎樣才能確保它始終傾聽按鍵? 是否建議將事件偵聽器添加到較低級別組件中的文檔中?
在反應事件系統中有一個'onKeyDown'事件檢出https://facebook.github.io/react/docs/events.html –