前言
React 是 Facebook 在 2013 年開源的一款前端框架
當(dāng)時由于 Ajax 技術(shù)興起,大量原來由服務(wù)端處理的邏輯鼓黔,慢慢轉(zhuǎn)移到前端做處理,這也是為了追求更流暢的 Web 交互體驗。后來為了「提升開發(fā)效率和應(yīng)用性能」焊唬,開始有很多大型前端框架出現(xiàn)(如:AngularJS)故痊,這些框架也讓工程師們越來越關(guān)注 UI 層面的操作(如:頻繁操作 DOM)顶瞳,「應(yīng)用性能越來越差」,并伴隨無法預(yù)知的 BUG 出現(xiàn)愕秫,之后 Facebook 工程師開始打造自己的前端框架慨菱,解決前面總結(jié)的問題,于是 React 就誕生啦~
一豫领、React起手式
安裝
npm install -g create-react-app
創(chuàng)建
npx create-react-app my-app
二抡柿、React兩個最重要的元素引入
import React from 'react'
import ReactDom from 'react-dom' //用來構(gòu)建頁面
React一般使用JSX語法來構(gòu)建頁面
例如
const element = <h1>Hello, world!</h1>
bable-loader將該jsx語法將被解析為,
React.createElement('h1','Hello, world!')
react再將解析后的語法解析為瀏覽器看得懂的js語法
ReactDom渲染ui
ReactDOM.render(
<div></div>, //ui
document.getElementById('root') //掛載節(jié)點
);
React 元素是不可變對象等恐。一旦被創(chuàng)建洲劣,就無法更改它的子元素或者屬性备蚓。一個元素就像電影的單幀:它代表了某個特定時刻的 UI。更新 UI 唯一的方式是創(chuàng)建一個全新的元素囱稽,并將其傳入
雖然傳入的是一個全新的ui郊尝,React并不會直接更新整個UI,而是React DOM 會將元素和它的子元素與它們之前的狀態(tài)進行比較战惊,只更新變化的部分