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

資訊專欄INFORMATION COLUMN

React系列---React(一)初識React

lanffy / 1441人閱讀

摘要:系列一初識系列二組件的和系列三組件的生命周期是推出的一個庫,它的口號就是用來創(chuàng)建用戶界面的庫,所以它只是和用戶界面打交道,可以把它看成中的視圖層。系列一初識系列二組件的和系列三組件的生命周期

React系列---React(一)初識React
React系列---React(二)組件的prop和state
React系列---React(三)組件的生命周期

React是Facebook推出的一個JavaScript庫,它的口號就是“用來創(chuàng)建用戶界面的JavaScript庫”,所以它只是和用戶界面打交道,可以把它看成MVC中的V(視圖)層。

React三大特性 組件

React的一切基于組件。使用React,唯一要關(guān)心的就是構(gòu)建組件。各個組件有各自的狀態(tài),狀態(tài)變更時,會自動重新渲染組件。組件特性也是Web前端發(fā)展的趨勢。

一個Profile組件的例子:

// Profile.jsx
import React from "react";
export default Class Profile extends React.Component {
    render() {
        return (
          

Hi, I am {this.props.name}

) } }

其他組件中,可以像HTML標簽一樣引用它:

import Profile from "./profile";

export default function(props) {
    return (
      
    )
}
JSX

上面的render方法中,有一種直接把HTML嵌套在JS中的寫法,被稱作JSX。這種語法結(jié)合了JavaScript和HTML的優(yōu)點,即可以像平常一樣使用HTML,也可以在里面嵌套JavaScript語法,運行時,Babel等工具會將JSX編譯成JavaScript語法。

用HTML這種語義化的方式代替寫JavaScript,總讓人愜意許多。

Virtual DOM

React的設(shè)計中,開發(fā)者基本上無需操縱實際的DOM節(jié)點,每個React組件都是用Virtual DOM渲染的,可以看成是一種用JavaScript實現(xiàn)的內(nèi)存DOM抽象。React在Virtual DOM上實現(xiàn)了一個Diff算法,渲染組件時,會高效的找出變更的節(jié)點,刷新到實際DOM上。

理解React特性 理解Virtual DOM

Web頁面是由一個個HTML元素嵌套組合而成的。當(dāng)使用JavaScript來描述這些元素時,這些元素可以簡單地被表示成純粹的JSON對象的。
比如現(xiàn)在需要描述一個按鈕(button),我們都知道,HTML語法如下:

其中包括了元素的類型和屬性。我們可以用這樣一個JSON對象去表達這個按鈕:

{
  type: "button",
  props: {
    className: "btn btn-blue",
    children: {
      type: "em",
      props: {
        children: "Confirm"
      }
    }
  }
}

這即是Virtual DOM的思想:將實際DOM節(jié)點抽象為內(nèi)存中的JavaScript對象。

理解組件

當(dāng)然,我們可以很方便地封裝上述button元素,得到一種構(gòu)建按鈕的公共方法:

const Button => ({ color, text }) {
    return {
      type: "button",
      props: {
        className: `btn btn-${color}`,
        children: {
          type: "em",
          props: {
            children: text,
          },
        },
      },
    };
}

當(dāng)我們要生成DOM元素中具體按鈕時,就可以調(diào)用Button({color:"blue", text:"Confirm"})來創(chuàng)建。
仔細思考這個過程可以發(fā)現(xiàn),Button方法其實也可以作為元素存在(上面的Profile組件,就是這一回事),方法名對應(yīng)了DOM元素類型,參數(shù)對應(yīng)了DOM元素屬性,這樣構(gòu)建的元素就是React的組件元素。JSON結(jié)構(gòu)描述這個組件的話,大概是這樣:

{
    type: Button,
    props: {
      color: "blue",
      children: "Confirm"
    }
}

這也是React的核心思想之一。因為有公共的表達方法,我們就可以讓元素們彼此嵌套混合。這些層層封裝的React組件元素,最終遞歸渲染出完整的DOM樹。

React系列---React(一)初識React
React系列---React(二)組件的prop和state
React系列---React(三)組件的生命周期

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/83601.html

相關(guān)文章

  • React系列---React(三)組件的生命周期

    摘要:組件裝載過程裝載過程依次調(diào)用的生命周期函數(shù)中每個類的構(gòu)造函數(shù),創(chuàng)造一個組件實例,當(dāng)然會調(diào)用對應(yīng)的構(gòu)造函數(shù)。組件需要構(gòu)造函數(shù),是為了以下目的初始化,因為生命周期中任何函數(shù)都有可能訪問,構(gòu)造函數(shù)是初始化的理想場所綁定成員函數(shù)的環(huán)境。 React系列---React(一)初識ReactReact系列---React(二)組件的prop和stateReact系列---之React(三)組件的生...

    geekzhou 評論0 收藏0
  • React系列---React(二)組件的prop和state

    摘要:給賦值也是構(gòu)造函數(shù)的工作之一。在的構(gòu)造函數(shù)中,還給兩個成員函數(shù)綁定了當(dāng)前的執(zhí)行環(huán)境,因為方式創(chuàng)建的組件并不自動給我們綁定到當(dāng)前實例對象。我們可以利用的功能,避免判斷邏輯這種充斥在構(gòu)造函數(shù)之中,讓代碼更優(yōu)。 React系列---React(一)初識ReactReact系列---React(二)組件的prop和stateReact系列---React(三)組件的生命周期 組件是React...

    Labradors 評論0 收藏0
  • 初識React

    摘要:初識依稀記得那年參加線下活動,第一次聽說這個詞語,當(dāng)時的主講人是郭達峰,他播放了一個關(guān)于及的性能對比視頻。合成事件會以事件委托的方式綁定到組件最上層,并且在組件卸載的時候自動銷毀綁定的事件。 初識React 依稀記得2015那年參加線下活動,第一次聽說React這個詞語,當(dāng)時的主講人是郭達峰,他播放了一個關(guān)于ember、angular及react的性能對比視頻: React.js Co...

    kuangcaibao 評論0 收藏0
  • react開發(fā)教程(-)初識

    摘要:定義一個組件可以在其他組件中調(diào)用這個組件調(diào)用組件劉宇組件插入內(nèi)容在上面的案例中可以看到吧寫到當(dāng)中,這種寫法稱為。 React初識 React是Facebook推出的一個javascript庫(用來創(chuàng)建用戶界面的Javascript庫),所以他只是和用戶的界面打交道,你可以把它看成MVC中的V(視圖)這一層。 組件 React的一切都是基于組件的。web世界的構(gòu)成是基于各種HTML標簽的...

    Allen 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<