開始到最近學習React.js並遇到以下問題: enter image description hereReact.js如何使用getElementById方法獲取道具中的id?
我想用getElementById
的div
元素,但它不工作和控制檯的警報can not read property 'props' of null
。那麼我怎樣才能得到div
元素?它困擾了我幾個小時。 謝謝。
開始到最近學習React.js並遇到以下問題: enter image description hereReact.js如何使用getElementById方法獲取道具中的id?
我想用getElementById
的div
元素,但它不工作和控制檯的警報can not read property 'props' of null
。那麼我怎樣才能得到div
元素?它困擾了我幾個小時。 謝謝。
React的整個想法是你不訪問DOM,但使用虛擬DOM。
爲了實現您正在嘗試完成的任務(這是因爲代碼不完整而有點不清楚),您需要使用stateful component來存儲用戶輸入this.state
。在React表單上查看this page。
你會想要做這樣的事情,你在哪裏通過將其存儲在組件上跟蹤用戶輸入:
class NameForm extends React.Component {
constructor(props) {
super(props);
this.state = {value: ''};
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
}
handleSubmit(event) {
alert('A name was submitted: ' + this.state.value);
event.preventDefault();
}
render() {
return (
<form onSubmit={this.handleSubmit}>
<label>
Name:
<input type="text" value={this.state.value} onChange={this.handleChange} />
</label>
<input type="submit" value="Submit" />
</form>
);
}
}
非常感謝!我試着用你的方法,它的工作原理! –
太棒了!如果您對答案滿意,請將其標記爲正確並解決問題。 –
嗨達達Jiao--歡迎StackOverflow上。您可能想要查看[問]。一般認爲包含指向代碼圖像的鏈接的做法很差。將代碼包含在問題本身中會更好,以及對發生錯誤的錯誤解釋。除此之外,我想提醒你,這種直接的DOM操作通常不是React的全部內容 - 如果你真的需要DOM參考評論['ref'](https://facebook.github.io/react/ docs/refs-and-the-dom.html) - 但請注意,通常這不是必需的。 –
利用refs而不是直接訪問DOM,你可以參考這個答案https://stackoverflow.com/questions/38093760/in-react-js-is-there-any-function-similar-like-document-getelementbyid -in-ja/38093981#38093981 –