1、注意,組件類的第一個字母必須大寫,否則會報錯,比如HelloMessage不能寫成helloMessage。另外,組件類只能包含一個頂層標簽,否則也會報錯。
2、添加組件屬性,有一個地方需要注意,就是 class 屬性需要寫成 className ,for 屬性需要寫成 htmlFor ,這是因為 class 和 for 是 JavaScript 的保留字。
3、有時需要從組件獲取真實 DOM 的節(jié)點,這時就要用到 ref 屬性
4、組件的生命周期:
組件的生命周期分成三個狀態(tài):
Mounting:已插入真實 DOM
Updating:正在被重新渲染
Unmounting:已移出真實 DOM
React 為每個狀態(tài)都提供了兩種處理函數(shù),will 函數(shù)在進入狀態(tài)之前調(diào)用,did 函數(shù)在進入狀態(tài)之后調(diào)用,三種狀態(tài)共
計五種處理函數(shù)。
componentWillMount()
componentDidMount()
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
componentWillUnmount()
此外,React 還提供兩種特殊狀態(tài)的處理函數(shù)。
componentWillReceiveProps(object nextProps):已加載組件收到新的參數(shù)時調(diào)用
shouldComponentUpdate(object nextProps, object nextState):組件判斷是否重新渲染時調(diào)用
5、Ajax
組件的數(shù)據(jù)來源,通常是通過 Ajax 請求從服務(wù)器獲取,可以使用 componentDidMount 方法設(shè)置 Ajax 請求,等到請求成功,再用 this.setState 方法重新渲染 UI
6、CommonJS和AMD是用于JavaScript模塊管理的兩大規(guī)范,前者定義的是模塊的同步加載,主要用于NodeJS;而后者則是異步加載,通過requirejs等工具適用于前端。隨著npm成為主流的JavaScript組件發(fā)布平臺,越來越多的前端項目也依賴npm上的項目,或者自身就會發(fā)布到npm平臺。
7、組件必須定義render方法,用于輸入組件
8、在組件的return中,只能有一個頂級節(jié)點<div>,有多個時,會報錯。/9、定義組件時設(shè)定this.props.xxx,這個xxx就是屬性名。
04 react注意事項
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 何謂直播電商,在我看來其實它就是一種T2O模式即TV to Online,只不過是從電視媒介轉(zhuǎn)接到手機端或者PC端...
- 同事問我說,“如果現(xiàn)在給你一百萬,你會用來做什么?” 我想了想,一百萬?很多嗎?不多??! 不過似乎對于現(xiàn)在工薪階層...