1、jsx更接近於js而不是html,所以react dom使用駝峰屬性命名規則來取代原來的html屬性名。
2、jsx的本質是個函式物件。下面兩個例子是相似的:
const element = ();
const element = react.createelement('h1',
, 'hello, world!'
);
3、將乙個react元素渲染到根節點裡,通過reactdom.render()。
4、區域性更新:react dom會將元素和子元素與之前的狀態比較,然後只更新必要的部分使dom變為所希望的狀態。
5、react元件的首寫字母必須大寫。舉個例子,代表乙個dom標籤,但是代表乙個乙個元件。
6、正確使用state:避免使用this.state.name=value的方式來更新state,這樣並不會重新渲染dom。採用this.setstate方式。
7、呼叫this.setstate後state的值可能不會立即改變。更安全的做法是使用函式做為setstate的引數。
this.setstate((prevstate, props) => ());
8、元件的render方法返回null不會影響元件的生命週期方法的執行。比如,componentwillupdate和componentdidupdate將一直被呼叫。
9、關列列表:key幫助react鑑別哪一項發生了改變,新增了,或者移除了。key應該新增在陣列裡的元素身上作為乙個穩定的特性。
10、html表單(form)和 react託管的表單略有不同。兩種獲取值的方式也不同:
//通過state管理value//通過refs管理value
} />
11、proptypes已經被新版本react移除了,請獨立安裝並使用'prop-types'庫。
12、正確使用ref屬性。字串refs已經不推薦使用,請使用行間函式的方式指定ref。
13、在react渲染的生命週期中,表單元素中的value屬性會重寫dom中的元素。而使用非控制項,你經常想要讓react指定初始value值,但是讓之後的值來更新非控制項。
為了解決這個問題,你可以指定defaultvalue屬性替代value值:
//控制項:用react的state來控制表單元素的value值;//非控制項:表單資料就被dom本身所處理
render()
14、不使用es6:
//使用es的寫法:
class greeting extends react.component ;}
greeting.proptypes = ;greeting.defaultprops = ;
render()}
//不使用es6的寫法:
var greeting = react.createclass(,
getinitialstate: function() ;},
getdefaultprops: function() ;},
render: function()});
15、react並不推薦使用context,如果你沒有用的context,那麼恭喜你。
零碎知識點
1.反斜槓也可拼接字串 window.nl ad function window.nl ad function 2.在console.log 中新增樣式 var a hello console.log c a,font size 400 background blue color white 3 通...
零碎知識點
比較數值時,不要integer,要int 1,elasticsearch查詢時不識別大寫,應全部轉為小寫.因此建立索引時盡量使用小寫 2.var param param.yanan1 yanan2 此處的用法 param 宣告了json格式的param,param.yanan1 yanan2定義了j...
彙編零碎知識點
條件碼 of overflow flag 溢位標誌,溢位時為1,否則置0.標明乙個溢位了的計算,如 結構和目標不匹配.sf sign flag 符號標誌,結果為負時置1,否則置0.zf zero flag 零標誌,運算結果為0時置1,否則置0.cf carry flag 進製標誌,進製時置1,否則置...