1.JSX語法:HTML寫在JAVASCRIPE中不加引號
2.render:將模板轉(zhuǎn)為HTML語言,并插入指定節(jié)點,獲取節(jié)點是只能使用document.getelement畸陡。。输莺。不能使用JQuery選取頁面元素
3.babel.min.js:可以將ES6代碼轉(zhuǎn)為ES5代碼
4.react-dom.min.js- 提供與 DOM 相關的功能
前輩吊炸天的代碼<script href="#link(.../home.js)" ?defer ?async ?type="text/javascript"></script>
5.defer:腳本文件會被延遲到整個文本解析完成后在運行答憔。第一個延遲腳本會先于第二個延遲腳本執(zhí)行,而這兩個腳本會先于DOMContentLoaded事件執(zhí)行彬伦。在現(xiàn)實當中滔悉,延遲腳本并不一定會按照順序執(zhí)行,也不一定會在DOMContentLoad時間觸發(fā)前執(zhí)行单绑,因此最好只包含一個延遲腳本氧敢。
6.async:與defer類似,只適用于外部腳本語言询张,并告訴瀏覽器快速下載文件孙乖。但與defer不同的是,標記為async的腳本并不保證按照它們的先后順序執(zhí)行份氧。第二個腳本文件可能會在第一個腳本文件之前執(zhí)行唯袄。因此確保兩者之間互不依賴非常重要。指定async屬性的目的是不讓頁面等待兩個腳本下載和執(zhí)行蜗帜,從而異步加載頁面其他內(nèi)容恋拷。
7.
8.?
9. history 及其方法
10. shouldComponentUpdate():避免組件重復渲染
11. immutable.js:使用===可以比較兩個immutabel,直接比較內(nèi)存厅缺,性能最好蔬顾。。湘捎。诀豁。。窥妇。使用is判斷值是否相等
12. getInitialState(){}:設置組件mount以后的初始state的舷胜。。活翩。烹骨。翻伺。與constructor相似。在ES6語法中使用constructor
13. 使用ES6語法重構Reac代碼:http://www.cnblogs.com/yongjz/p/5356914.html
14. getDefaultProps:設置默認的props沮焕,如果父組件沒有給某個prop那就用默認的
15. // 以后任意類型加上 `isRequired` 來使 prop 不可空(使用isRequired后吨岭,prop必須有值)。
? ? ? ? ? requiredFunc : React . PropTypes . func . isRequired ,
16. typeof會返回一個變量的基本類型峦树,只有以下幾種:number,boolean,string,object,undefined,function........
可以判斷一個變量是否存在 ? if ( typeof a != 'undefined' ) {
//變量存在
}
或判斷變量的基本類型 alert ( typeof ( m ) ) ; //undefined
17. instanceof返回的是一個布爾值(需要注意的是未妹,instanceof只能用來判斷對象和函數(shù),不能用來判斷字符串和數(shù)字等)
var a = {};
alert(a instanceof Object);? //true
18. Redux 中已經(jīng)有了 select 來做檢索空入,Action 來更新數(shù)據(jù)
19. immutable詳解及react中實踐:https://www.w3ctech.com/topic/1595
Immutable 可以給應用帶來極大的性能提升络它,但是否使用還要看項目情況。由于侵入性較強歪赢,新項目引入比較容易化戳,老項目遷移需要評估遷移。對于一些提供給外部使用的公共組件埋凯,最好不要把 Immutable 對象直接暴露在對外接口中
注意:與Redux搭配使用
二点楼、React生命周期
首次實例化
1.getDefaultProps:設置默認的prop
2.getInitialState:設置初始狀態(tài)的state
3.componentWillMount
4.render
5.componentDidMount
實例化后的更新
1.getInitialState
2.componentWillMount
3.render
4.componentDidMount
存在期
1.componentWillReceiveProps:組件接收到新的props時調(diào)用,并將其作為參數(shù)nextProps使用白对,此時可以更改組件props及state掠廓。
componentWillReceiveProps: function(nextProps) {
if (nextProps.bool) {
this.setState({
bool: true
});
}
}
2.shouldComponentUpdate
3.componentWillUpdate
4.render
5.componentDidUpdate
銷毀&清理期
1.componentWillUnmount
render
必選的方法,創(chuàng)建虛擬DOM甩恼,該方法具有特殊的規(guī)則:
1.只能通過this.props和this.state訪問數(shù)據(jù)
2.可以返回null蟀瞧、false或任何React組件
3.只能出現(xiàn)一個頂級組件(不能返回數(shù)組)
4.不能改變組件的狀態(tài)
5.不能修改DOM的輸出
三、聲明周期新添特新
1. componentWillReceiveProps(object nextProps):已加載組件收到新的參數(shù)時調(diào)用
2. shouldComponentUpdate(object nextProps, object nextState):組件判斷是否重新渲染時調(diào)用