1, React是什么
用于構建用戶界面的JavaScript庫
1> 發(fā)送請求
2> 處理數據
3> 操作DOM呈現頁面(React 只做這一步)
翻譯: React是一個將數據渲染為HTML視圖的開源JavaScript庫
2, React是誰開發(fā)
由FaceBook開發(fā),且開源
近十年 “陳釀” 正在被騰訊,阿里等一線大廠廣泛使用
3, 為什么要學
1> 原生JavaScript操作DOM繁瑣,效率低(DOM-API操作UI)
原生每次DOM操作,瀏覽器都要重新繪制
Jquery操作DOM與原生JS操作DOM只是代碼量少了,效率低依然是一樣的
瀏覽器會進行大量的重繪重排(數據量少,沒感覺,數據量大,會很嚴重)
2> 原生JS沒有組件化編碼方案,代碼復用率低
組件化: HTML/CSS/JS 都可以拆分
4, React的特點
1> 采用 組件化 模式, 聲明式編碼(通過特殊的語法聲明一下, 原生的編碼屬于命令式的,1,2,3...), 提高開發(fā)效率及組件復用率
2> 在React Native中可以使用React語法進行移動端開發(fā)(Android,IOS)
3> 使用虛擬DOM + 優(yōu)秀的Diffing算法, 盡量減少與真實DOM的交互
虛擬DOM: 不是真實的DOM,是給React使用的DOM,不存在于頁面上,而是存在內存中
先虛擬DOM(存在內存中), 再映射成 真實的DOM
當有數據變化時,原來能用的盡量用(Diff), 真正生成時,只會有差異的那個生成,原來可用的數據就不會變了