安裝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)簽名