亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

React

tain335 / 606人閱讀

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

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

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

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

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

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

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

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

引入React

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


上面兩個(gè)

解釋:

首先引入了三個(gè)

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

元素的

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

使用組件(Component

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

定義一個(gè)組件

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

組件里可以添加很多功能,比如想要添加一個(gè)按鈕,你只需直接寫你想要的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ū)別就對(duì)了:

props的傳遞性

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

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

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

                
閱讀需要支付1元查看
<