1. 程式人生 > >React初識整理(一)

React初識整理(一)

 

一、React的特點

1、自動化的UI狀態管理:自動完成資料變化與介面效果的更新。 

2、虛擬DOM:建立1個虛擬的dom節點樹,放在記憶體裡(記憶體修改資料效率高),資料變化時先修改記憶體裡的虛擬DOM,然後與頁面的DOM進行對比,React可以做優化,優化後可只修改變化的部分,縮小節點更改的範圍,從而提高效率。(正常情況下改變節點後要重新渲染頁面,效率慢)。

3、元件化開發:管理頁面的各功能,將1個功能視為1個元件。每個元件都可以有各自的結構、樣式、行為,然後把所有的元件拼合起來的開發方式。單頁應用的實現方式。

4、完全在js中定義UI:一個元件就是1個js。

5、JSX:JavaScript XML。使React的標籤寫法像html那樣來編寫

6、只是MVC構架中的V:MVC是一種架構模式,model(模型:獲取資料)→ view(檢視:渲染)→controller(控制器:關聯資料與檢視)。

7、單向資料流:只能父級傳子級,便於追蹤資料的來源。

二、建立一個React應用

1、引入兩個React的線上js檔案:

<script crossorigin src="js/react.development.js"></script>
 <script crossorigin src="js/react-dom.development.js"></script>

  

2、使用:

  ①渲染到頁面:ReactDOM.render();

  ②建立元素:React.createElement()

     - 引數1:元素名

     - 引數2:元素屬性,格式為JSON。多個單詞用駝峰命名,class屬性要寫成className

     - 引數3:標籤內容,可以是文字,也可以是另一個元素物件。

3、JSX語法

   ①引入JSX編譯器 babel.min.js ,然後在script裡寫入type值為text/babel,讓瀏覽器認為該程式碼為JSX程式碼。但是該方法編譯速度很慢,效率低。

   ②JSX規則與XML一致:

    - 允許巢狀

    - 標籤必須嚴格閉合

    - 屬性:

       - 大部分屬性和HTML標籤一致

       - 兩個特殊:for→htmlFor class→className

       - 可以自定義屬性

    - 引用變數必須用 {}花括號,花括號中可做運算

    

    - 引用元件用<>尖括號

    - 註釋,{/*註釋*/} ,要加花括號

    - style屬性要寫成花括號形式,如:style={{color:"red"}};

三、React的元件

  1、元件是編寫React應用的基礎,一個應用就是由大大小小的元件組合而成。

  2、元件分類:

     - 無狀態元件:普通函式定義,無狀態,沒有生命週期,能夠優化效能。

    

    - 有狀態元件:推薦ES6語法定義,React內部會建立例項,並擁有完整的生命週期。

    

 

相關推薦

React初識整理

  一、React的特點 1、自動化的UI狀態管理:自動完成資料變化與介面效果的更新。  2、虛擬DOM:建立1個虛擬的dom節點樹,放在記憶體裡(記憶體修改資料效率高),資料變化時先修改記憶體裡的虛擬DOM,然後與頁面的DOM進行對比,React可以做優化,優化後可只修改變化的部分

Java基礎知識整理

顯式 sys 轉換 強制 print pri 字符 parse ger Java開發環境JDK(Java編輯器、Java運行工具(JRE作用)、Java文檔生成工具、Java打包工具) 1.Java是嚴格區分大小寫的。2.Java程序中一句連續的字符串不能分開在兩行書寫,

python基礎整理

sci 可變 python break job continue ont mat con 1、字符編碼: ASCIl碼 255個 每個字符一個字節, Unicode 每個字符兩個字節, UTF8 可變長的Unicode編碼,英文一個字節,中文三個字節。 2、格式化字

R基礎整理

mean 數組 文檔 函數 var 線性 矩陣轉置 http bsp 1 創建變量和矩陣 2 基本數值處理函數 3 數組 4 數據框 5 文本文件和excel的讀取 6 for,while語句的格式 7 R腳本註意 8 分布函數 一:創建向量和矩陣 函數c(

初識LVS——LVS介紹和LVS的NAT工作模式

lvs;natLVS介紹集群按照類型劃分可以分為:LB負載均衡型;HA高可用型;HP高性能型。LVS(linux virtual machine)是一款國人編寫用於LB負載均衡型被收錄進Linux內核的工具。LVS由ipvs和ipvsadmin組成,ipvs工作在netfilter框架上,而ipvsadm則是

MySQL整理

評測 use 查看 tex 基準 varchar 默認 事務 數據安全   一、數據管理發展階段     人工管理階段→文件系統階段→數據庫系統階段   二、數據庫管理系統提供的功能     (1)數據定義語言DDL:提供數據定義語言定義數據庫及各種對象,定義數據的完

初識keepalived——keepalived介紹與安裝

keepalivedkeepalived介紹keepalived作為高可用集群的一種實現方式,相對於proxy和heartbeat輕量得多,而集群根據實現的功能不同可以分為3種:1.HA(high available)集群:由一組對外提供相同服務的設備組成,組內每一臺設備故障不會影響到服務的正常提供。2.LB

Java常見錯誤整理

最新 java虛擬機 home 64位安裝 .cn www. 錯誤 jdk8 image 1、配置完Java環境變量之後,仍然不能使用java命令。 解決方法: 如果是Windows10系統出現此問題,是因為個別Windows10系統不識別“JAVA_HOME”環

初識Linux

指定 mod data watermark username apple home 管理員 管道 一、命令提示符格式 1.默認格式: [root@centos6 ~]#[用戶名@主機名前綴 目錄路徑後綴]#|$ (root是為#,普通用戶時為$)2.查

初識Mysql

字符類型 大文本 條件 err 指令 first 案例 刪除 mysql- 1 搭建數據庫服務器2 MYSQL數據類型3 修改表結構1 搭建數據庫服務器1.1 存在mariadb時:#systemctl status mariadb#systemctl stop maria

Y2 初識MyBatis

myba log image batis bsp 方法 config 接口 bat   創建了一個簡單的MyBatis項目,查詢Book數據庫中的book表   首先是創建實體類        然後寫Dao層的接口,並在接口中寫一個查詢的方法        並且在Dao層中

Hive筆記整理

大數據 Hive [TOC] Hive筆記整理(一) Hive Hive由facebook貢獻給Apache,是一款建立在Hadoop之上的數據倉庫的基礎框架。 數據倉庫 特點——關於存放在數據倉庫中的數據的說明: 是能夠為企業的各個級別的決策提供數據支撐的數據 其實說白了,就是一個存放數據

HBase筆記整理

大數據 HBase [TOC] HBase筆記整理(一) 行列式數據庫 行式數據庫: 可以簡單的理解為類似傳統的rdbmspaint這些數據,存放的數據都是結構化的數據。 行式數據庫,是有利於全表數據的掃描,不利於只查詢個別字段 列式數據庫: 對行式數據庫的一個改進,將部分列(或者說有關聯的一些列)

Kafka筆記整理

大數據 消息隊列 消息訂閱系統 Kafka [TOC] Kafka筆記整理(一) Kafka簡介 消息隊列(Message Queue) 消息 Message 網絡中的兩臺計算機或者兩個通訊設備之間傳遞的數據。例如說:文本、音樂、視頻等內容。 隊列 Queue 一種特殊的線性表(

Redis筆記整理:Redis安裝配置與數據類型操作

數據庫 NoSQL Redis [TOC] Redis筆記整理(一):Redis安裝配置與數據類型操作 Redis簡介 Redis是一個開源(BSD許可),內存存儲的數據結構服務器,可用作數據庫,高速緩存和消息隊列代理。 它支持字符串、哈希表、列表、集合、有序集合,位圖,hyperloglo

【Linux Nginx實戰】之初識Nginx

Nginx LNMP 實戰 1.Nginx是什麽? nginx是一款高性能的HTTP和反向代理服務器軟件,第一個開源版本誕生於2004年,雖然誕生較晚但經過十多年的發展,已經成為非常流行的web服務器軟件,下圖是w3techs公布的全球網站服務器軟件統計報告 2.Nginx為什麽流行? 首先,ng

ElasticSearch筆記整理:簡介、REST與安裝配置

大數據 ElasticSearch ELK [TOC] ElasticSearch簡介 ElasticSearch是一款基於Apache Lucene構建的開源搜索引擎,它采用Java編寫並使用Lucene構建索引、提供搜索功能,ElasticSearch的目標是讓全文搜索變得簡單,開發者可以通

Storm筆記整理:簡介與設計思想

大數據 實時計算 Storm [TOC] 實時計算概述 有別於傳統的離線批處理操作(對很多數據的集合進行的操作),實時處理,說白就是針對一條一條的數據/記錄進行操作,所有的這些操作進行一個匯總(截止到目前為止的所有的統計總和)。 實時計算與離線計算比較 Bounded:有界 離線計算面臨

Scala筆記整理:scala基本知識

大數據 Scala [TOC] Scala簡介 Scala是一門多範式(multi-paradigm)的編程語言,設計初衷是要集成面向對象編程和函數式編程的各種特性。 Scala運行在Java虛擬機上,並兼容現有的Java程序。 Scala源代碼被編譯成Java字節碼,所以它可以運行於JVM之上,並

Spark筆記整理:spark單機安裝部署、分布式集群與HA安裝部署+spark源碼編譯

大數據 Spark [TOC] spark單機安裝部署 1.安裝scala 解壓:tar -zxvf soft/scala-2.10.5.tgz -C app/ 重命名:mv scala-2.10.5/ scala 配置到環境變量: export SCALA_HOME=/home/uplooking