這是我的反應組件類如何在click處理程序中獲取與event.target元素相對應的反應組件實例?
class TestInstance extends React.Component {
onClick(e) {
//When the user clicks in the button,
//I need to read the custom-id property here
}
render() {
return (
<Wrapper onClickCapture={this.onClick}>
<div>
<button custom-data={{test: 'test data'}}>Click Me</button>
</div>
</Wrapper>
);
}
}
在這裏,我聽包裝節點下發生的所有點擊事件。無論何時發生點擊,我都需要找出與e.target
關聯的反應組件實例以及該實例的custom-data
支持的值。 custom-data
道具將會有多個此類兒童具有不同的值。每當這樣一個元素被點擊時,我想爲它的custom-data
提取該元素的值,並做一些事情。在reactjs中做這件事的最好方法是什麼?一種方法是導航整個兒童樹,並與每個兒童的DOM元素共同製作身份標識實例。我還發現e._targetInst._currentElement.props
給了我道具的價值。但我不知道這些無證變量有多可靠。是否有任何記錄的解決方案?基本上我正在尋找一些能讓我產生ReactDOM.findDOMNode的相反效果的東西。我已經有了一個DOM節點,我需要與之相關的React元素。
我們缺少一些信息這裏。在你的示例代碼中,'custom-id'道具的值始終是'「btn」',除非你沒有共享的代碼正在改變這個值。我們缺少什麼? –
@Jordan我只是舉了一個例子..會有一些其他孩子的'custom-id'屬性值不同。當他們中的任何一個被點擊時,我想提取他們的'custom-id'屬性的值,並用它做一些事情。 –
'Wrapper'如何監聽其子女的所有點擊事件? –