[英]How to insert a DOM value in a react React component?
我有一個HTML頁面,並且正在將Reactjs作為組件插入其中。 我正在閱讀具有JavaScript vanilla的DOM,並且希望將其插入此新的react腳本中。
<HTML>
<div id="element">the value I want</div>
<div id="root"></div>
</HTML>
div id“ root”是我要與DOM中的“ value”一起播放的React插入的位置,但是在React中
我可以做嗎? 怎么樣
看起來您可以在初始渲染之前將其添加到componentWillMount
。
的HTML
<div id="element">the value I want</div>
<div id="root"></div>
JSX
class Test extends React.Component {
componentWillMount() {
const { element } = this.props;
this.text = document.getElementById(element).textContent;
}
render() {
return <div>{this.text}</div>;
}
}
ReactDOM.render(
<Test element="element" />,
document.getElementById('root')
);
如果將其作為道具傳遞,則您的組件將不會依賴DOM的結構,從而使其更具可重用性和可測試性:
const value = document.getElementById('element').value;
ReactDOM.render(
<App value={value}>,
document.getElementById('root')
);
或正如胡安·門德斯(Juan Mendes)所述,將elementId傳遞為道具。
您需要的就是這個
<div ref={(ref) => { this.myDiv = ref; }} />
然后,您可以從中獲得想要的一切。
this.myDiv
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.