成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

React

tain335 / 548人閱讀

摘要:而我只知道有自己的虛擬,它會對比虛擬和真實(shí)的差別,然后在適當(dāng)?shù)臅r機(jī)更新頁面。函數(shù)的第一個參數(shù)只能是一個標(biāo)簽,不能是并列的兩個標(biāo)簽。第一個添加了的屬性,該屬性值指向,意思是該組件名為的靜態(tài)屬性。

網(wǎng)頁總是一個鏈接著另一個的,React一大優(yōu)勢在于每次鏈接到另一個頁面上去的時候,不需要向傳統(tǒng)頁面一樣,得銷毀所有代碼,重新渲染新頁面的代碼,而只在一個頁面上展現(xiàn)新的內(nèi)容——單頁頁面。

React另一個優(yōu)勢是,以往的單頁頁面你需要考慮哪個元素要被刪除、哪個元素的行為要被修改,而我們只需要告訴React我們想要的最終頁面的效果,React會自動幫我們處理頁面上的元素,做刪除、修改等操作。

而我只知道React有自己的虛擬DOM,它會對比虛擬DOM和真實(shí)DOM的差別,然后在適當(dāng)?shù)臅r機(jī)更新頁面。至于它怎么對比的?怎么知道差別的?怎么進(jìn)行修改的?我不知道,不過,對于我們,誰在乎呢?

必須首先知道的關(guān)于React的術(shù)語

JSX語法:React特有語法,用來搭建虛擬DOM

組件(Component):一個個代碼塊,用來封裝各種功能,可以類比于函數(shù)(function

props&status:組件的所有靜態(tài)屬性 & 所有動態(tài)屬性

引入React

想要使用React,你需要先引入:


上面兩個

解釋:

首先引入了三個

我們看到,頁面中已經(jīng)添加了包含兩個

元素的

React.render()函數(shù)的第一個參數(shù)只能是一個標(biāo)簽,不能是并列的兩個標(biāo)簽。不過一個標(biāo)簽里的子標(biāo)簽可以隨便的添加,所以最好的方法就是,在外面添加一個

使用組件(Component

上面的方法是直接將你想要的寫在React.render()里,通常的做法是引用組件

定義一個組件

class 組件名 extends React.Component(
    //your code
);

組件里可以添加很多功能,比如想要添加一個按鈕,你只需直接寫你想要的DOM結(jié)構(gòu),而不需要使用javascript語法:createElement()appendChild()

class 組件名 extends React.Component(
    render(){
        return ();
    }
);

在組件里寫好你想要的東西,使用React.render()進(jìn)行渲染

React.render(
    <組件名/>,
    想要渲染的位置
)

完整代碼可以如下




    
    React First Try
    
    
    


    

效果、頁面結(jié)構(gòu)

我們看到,頁面上出現(xiàn)了我們想要的按鈕,頁面結(jié)構(gòu)里也成功添加了標(biāo)簽,它的type屬性值為submit,文字顯示為Batman

效果、頁面結(jié)構(gòu),哈哈哈,沒啥區(qū)別,沒區(qū)別就對了:

props的傳遞性

props只能從父元素向下傳遞給子元素:

當(dāng)有多個屬性你想傳遞的時候,你的代碼可能就會是這樣的,會重復(fù)很多遍{this.props.propsName}

如果你不想重復(fù)很多遍繁瑣的{this.props.propsName},那你可以使用擴(kuò)展運(yùn)算符...表示取到所有的靜態(tài)屬性并且都使等于{this.props.propsName},所以我們的代碼可以稍作簡化:

                
閱讀需要支付1元查看
<