簡短的問題,我希望你能幫助。我不知道爲什麼一個對象不能在我的構造函數中分配給React?
爲什麼這樣嗎?
constructor() {
super();
this.loader;
}
componentDidMount(){
this.loader = document.getElementById('loaderTest');
console.log(this.loader);
}
但這不?
constructor() {
super();
this.loader = document.getElementById('loaderTest');
}
componentDidMount(){
console.log(this.loader);
}
第二種方法工作在香草JavaScript,但在與之反應控制檯返回null
。我嘗試了谷歌搜索,但不知道我在找什麼。
看起來是這個構造函數在react已經呈現任何組件之前工作。我是否正確地承認這一點?
我只是開始理解面向對象的JavaScript,所以如果我的問題是愚蠢的,我很抱歉。
任何幫助,非常感謝。
由於
萌
編輯:一個陣營成分的在上下文中
import React from 'react';
import ReactDOM from 'react-dom';
class Site extends React.Component {
constructor() {
super();
this.loader;
}
componentDidMount(){
this.loader = document.getElementById('loaderTest');
}
render() {
return(
<div id="loaderTest" className="site_container__loader loading block--fullpage">
</div>
)
}
}
module.exports = Site;
這是什麼成分,並與ID'loaderTest'的DOM元素之間的關係? –
'loaderTest' div/id與我發佈的代碼位於同一個組件中。 –
然後你應該在你的例子中反映,否則我們只是猜測。 –