初入React世界
一: React簡單介紹
React 專註於視圖層,和Angular等框架不同,React並不是完整的MVC/MVVM框架,它專註於提供清晰的簡潔的View(視圖)層解決方案。使用的主要語法是JSX。
二 : JSX語法的由來
個人的理解:就是HTMl和JavaScript語法一塊使用。
1. DOM元素
Web頁面是由一個個HTML元素嵌套組合而成的。當使用JavaScript來描述這些元素的時候,這些元素可以簡單的被表示成純粹的JSON對象。比如:現在需要藐視一個按鈕(button),這些HTML語法表示非常簡單:
<button class="btn btn-blue"> <i>button</i> </button>
其中包括了元素的類型和屬性。如果轉換成JSON對象,那麽依然包括元素的類型和屬性:
{ type : ‘button‘, props : { className : ‘btn btn-blue‘, children : { type : ‘i‘, props : { children : ‘button‘ } } } }
這樣我們就可以在JavaScript中創建Virtual DOM元素了。
在React 中,到處都是可以復用的元素,這些元素並不是真實的實例,它只是讓 React告訴開發者想要在屏幕上顯示什麽。我們無法通過方法去調用這些元素,它們只是不可變的描述對象。
2. 組件元素
我們可以方便的封裝上述button元素,得到一種構建按鈕的公共方法:(ES^的語法)
const Button => ({color ,text }) { return { type : ‘button‘, props : { className :‘btn btn-${color}‘, children : { type : ‘i‘, props : { children : text } } } } }
當我們要生成DOM元素中具體的按鈕時,就可以方便的調用Button(‘blue’,‘button‘)。
三: React組件的構建
React組件即為組件元素。組件元素被描述成純粹的JSON對象,意味著可以使用方法或是類來構建。React組件基本上由3個部分組成-----屬性(props)、狀態(state)以及生命周期方法。
React組件可以接收參數,也有自身狀態。一旦接收到的參數或者自身狀態有所改變,React組件就會執行相應的生命周期方法,最後渲染。整個過程完全符合傳統組件所定義的組件職責。
React組件基本上由組件的構建方式、組件內的屬性狀態與生命周期方法組成。(主要介紹用React.createClass方法來構建組件)
React.createClass
用React.createClass 構建組件是React最傳統的、也是兼容性最好的方法。
const Button = React.createClass({ getDefaultProps(){ return { color : ‘blue‘, text : ‘button‘ }; }, render() { const {color ,text } = this.props; return { <button className = {‘btn btn-${color}‘}> <i>{text}</i> </button> }; } });
從表象上看,React.createClass 方法就是構建一個組件對象。當另一個組件需要調用Button組件時,只用寫成<Button />,就可以解析成React.createElement(Button)方法來創建Button實例,這意味著一個應用中調用幾次Button,就會創建幾次Button 實例。
初入React世界