一偷办、什么是react
官網(wǎng)上對react的介紹是用于構建用戶界面的JavaScript庫? ? 官網(wǎng):https://zh-hans.reactjs.org/
????1涛癌、研發(fā)團隊
? ??????React 是Facebook 在2013年推出的一款前端框架赏陵。Facebook是如今國際上使用較廣泛的聯(lián)系朋友的社交工具。react的起源是faceBook的內(nèi)部項目屡萤,由于該公司對市場上所有JavaScript MVC框架都不滿意,所以自己寫了一套掸宛。做出來之后發(fā)現(xiàn)還挺好用死陆,就在2013年5月開源了。
????2、用途
????????React主要用于構建UI措译”鸱铮可以在React里傳遞多種類型的參數(shù),如聲明代碼领虹,幫助渲染出UI规哪、也可以是靜態(tài)的HTML DOM元素、也可以傳遞動態(tài)變量塌衰、甚至是可交互的應用組件诉稍。
? ? 3、解決了哪些問題
? ? ? ? 傳統(tǒng)UI操作關注太多細節(jié)最疆。而react始終整體“刷新”頁面杯巨,無需關注太多細節(jié),簡化DOM操作肚菠。
????????應用程序狀態(tài)分散在各處舔箭,難以追蹤和維護。將傳統(tǒng)的MVC數(shù)據(jù)模型改成了Flux單向數(shù)據(jù)流(以狀態(tài)為基礎展現(xiàn)UI)蚊逢,解決了model层扶、view錯綜復雜,難以追蹤問題烙荷。
???4镜会、框架特點
? ? ? ? (1)聲明式
? ??????????????React 使創(chuàng)建交互式 UI 變得輕而易舉。為你應用的每一個狀態(tài)設計簡潔的視圖终抽,當數(shù)據(jù)變動時 React 能高效更新并渲染合適的組件戳表。以聲明式編寫 UI,可以讓你的代碼更加可靠昼伴,且方便調(diào)試匾旭。
? ? ? ? (2)組件化
? ? ? ? ? ? ? ? 構建管理自身狀態(tài)的封裝組件,然后對其組合以構成復雜的 UI圃郊。由于組件邏輯使用 JavaScript 編寫而非模板价涝,因此你可以輕松地在應用中傳遞數(shù)據(jù),并保持狀態(tài)與 DOM 分離持舆。
? ? ? ? (3)靈活
? ? ? ? ? ? ? ? 無論你現(xiàn)在使用什么技術棧色瘩,在無需重寫現(xiàn)有代碼的前提下,通過引入 React 來開發(fā)新功能逸寓。React 還可以使用 Node 進行服務器渲染居兆,或使用React Native開發(fā)原生移動應用。一次學習竹伸,跨平臺編寫泥栖。
二、環(huán)境準備
????1、在瀏覽器中編寫代碼
? ? ? ? 這是上手最快的一種方式聊倔,https://codepen.io/gaearon/pen/oWWQNa?editors=0010晦毙,在此鏈接下就可以直接修改代碼了,可以略過本地安裝的步驟耙蔑。
????2见妒、本地環(huán)境搭建(Mac系統(tǒng))
????????去https://nodejs.org/en/下載node.js本地搭建,我選擇的是v16.5.0版本的甸陌。打開終端须揣,輸入node - v,npm -v 可以查看版本號钱豁。
安裝鏡像cnpm:因為npm安裝其他插件很慢耻卡,需要考慮用淘寶鏡像cnpm
? ? ? ? 輸入命令:sudo npm install -g cnpm --registry=https://registry.npm.taobao.org --verbose
等安裝結束之后,輸入cnpm - v就可以查看版本信息了