1. 程式人生 > >初入React世界

初入React世界

style png 一個個 ren 也有 ons 分享圖片 pre html

一: 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世界