React文件解釋、組件定義及渲染過程

安裝node,使用react官方的腳手架工具生成結(jié)構(gòu),在桌面依次執(zhí)行下面三行命令

node_modules文件夾是存放依賴包

yarn.lock:放置的是整個項目所依賴的第三方模塊的各種信息(或者是package.json,功能一樣,有yarn.lock,執(zhí)行命令是用yarn,否則用npm)

README.md:放置對項目的描述。可刪除文件內(nèi)容后自行編輯描述。

package.json:對項目進(jìn)行說明,比如項目名字、版本、是否為私有項目、該項目安裝的依賴和可執(zhí)行的npm各種指令

要執(zhí)行start命令,使用npm start的話,會被自動轉(zhuǎn)為npm run start;而要執(zhí)行build命令的話,必須使用npm run build(項目打包)才行。

.gitignore:配置不想上傳到git的文件


public文件下面:

1、.ico 是瀏覽器中標(biāo)簽頁部分的圖標(biāo),該圖標(biāo)可以到網(wǎng)上搜索一下,自己制作一個;【文件名和后綴名不是固定的,都是可以修改的。但實際開發(fā)中,默認(rèn)都是以favicon.ico命名,便于與其他圖片區(qū)分開,用來表示地址欄的小圖標(biāo)。所以更推薦使用這個圖標(biāo)時,以favicon.ico命名。】

2、index.html :里面就是項目啟動后顯示的頁面的內(nèi)容

1)<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> //引入圖標(biāo)

2)文件內(nèi)設(shè)置了移動端適配的meta標(biāo)簽,我們不做移動端的,可以刪除

3)文件里引入了manifest.json,我們不需要使用,可以刪除它,相應(yīng)的可以把public下的manifest.json文件也刪除;

4)假如瀏覽器不支持JavaScript,頁面上的提示內(nèi)容在noscript標(biāo)簽內(nèi)設(shè)置。

如:<noscript>您的瀏覽器不支持js,請打開瀏覽器對js的支持配置項</noscript>

5)<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />

蘋果為iOS設(shè)備配備了apple-touch-icon私有屬性,添加該屬性,在iPhone,iPad,iTouch的safari瀏覽器上可以使用添加到主屏按鈕將網(wǎng)站添加到主屏幕上,方便用戶以后訪問。




src文件夾下面

1、index.js:是入口文件

1)這里可以直接引入css文件

2)import App from './App';實際是在引入App.js,App是App.js的縮寫,寫App的時候會先在當(dāng)前目錄下找App.js這個文件;

3)React.StrictMode 標(biāo)簽是開啟react的嚴(yán)格模式


2、APP.js文件:

就是一個組件,在index.js中引入,通過render渲染函數(shù),渲染在頁面上,并且只能渲染一個標(biāo)簽,可以在外層包裹一個div,里面放各個組件標(biāo)簽名

然后在index中,通過reactDOM把a(bǔ)pp生成的文本,掛載到id為root的標(biāo)簽上,然后index.html上,讓父容器的id=root,就渲染成功了。

ReactDOM.render(<App />,document.getElementById(' '));

3、App.test.js是一個項目的自動化測試文件,可刪除

組件定義及渲染總結(jié)

定義

class 組件名 entends Component {??

????????render () {? ? ==>? 渲染函數(shù)

? ? ? ? ? ? ?return (返回出去渲染的內(nèi)容)

????????}

渲染

入口文件index.js中使用render函數(shù)掛載到index.html的DOM節(jié)點(diǎn)上

ReactDOM.render(<App />,document.getElementById(' '));

render函數(shù)只能渲染一個標(biāo)簽,index.js或者組件中都是這樣,可以在外層包裹一個div,里面放各個組件標(biāo)簽名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。