中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React文件名和目錄的規范是什么

發布時間:2022-10-21 15:51:46 來源:億速云 閱讀:326 作者:iii 欄目:開發技術

今天小編給大家分享一下React文件名和目錄的規范是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

文件類型

介紹文件名和目錄前,需要先簡述一下幾種通用的類型,用來區分文件的功能。

  • component 組件文件

  • page 如果有路由(React Router、NextJS等),則有頁面文件

  • util 需要復用的工具函數

  • helper 一段特定邏輯,不是通用工具,可復用也可僅作為代碼拆分片段

  • hook 自定義React Hook

  • constant 定義常量,大寫+下劃線命名 CONSTANT_VALUE

處理index文件

在做組件或者頁面的時候,你可能會劃分組件,并把主組件用index.tsx導出。這樣做的時候有一個好處就是可以按照文件夾名引入,從結構上看是很清晰的。

但是事實上,在編輯器中會有多個index.tsx文件,開發時需要看文件所在的文件夾,非常難受。

我的解決方案是,你的主組件應該和原來一樣導出,index.ts 文件二次導出主組件。

你的 index.ts 應該這樣寫:

export * from './MainComponent';
export { default } from './MainComponent';

雖然把一個文件變成了兩個文件,但是有效地減少了開發時的心智負擔。

規范

類型文件夾

這應該是一個比較官方的規范,很多項目都在使用。

此處使用大駝峰命名組件(component)和頁面(page),其他文件通常用小駝峰

如果你有路由,那么此時component中的組件應為通用組件。

src/
├── components/
│   ├── MyHeader.tsx
│   └── MyFooter.tsx
├── pages/
│   ├── Home.tsx
│   ├── About.tsx
│   └── Widget/
│       ├── components/
│       │   ├── Tool.tsx
│       │   └── Option.tsx
│       ├── helpers/
│       │   └── setOptionStorage.ts
│       ├── Widget.tsx
│       └── index.ts
├── hooks/
│   └── useTheme.ts
├── utils/
│   └── getRamdomNumber.ts
└── constants.ts

這個規范在小項目中尚可實行。但是如果相對復雜的項目,由于文件夾層數多,會導致引入混亂。

特性文件夾

特性文件夾分類很好地解決了層數過多的問題,增加平鋪的可能。并更直觀地展示了代碼邏輯,方便維護。

大駝峰命名

這種命名規范中,除了組件和頁面以外,所有的文件都需要添加類型后綴。
并且在一個特性中,可以將類型相同的函數放在一個文件內。
例如 Widget.helper.ts Widget.util.ts

如果是通用的或復用的代碼,都建議放到 common 文件夾統一管理,其余特性文件夾均大寫。

非組件或頁面的獨立的文件,請使用燒烤串命名(中劃線分割)

同一個特性的組件可以不另設 components 文件夾

src/
├── common/
│   ├── components/
│   │   ├── MyHeader.tsx
│   │   └── MyFooter.tsx
│   ├── utils/
│   │   └── get-random-number.util.ts
│   ├── hooks/
│   │   └── use-theme.hook.ts
│   └── constants.ts
├── Home/
│   └── Home.tsx
├── Widget/
│   ├── Tool.tsx
│   ├── Option.tsx
│   ├── Widget.helpers.ts
│   ├── Widget.utils.ts
│   ├── Widget.constants.ts
│   ├── Widget.tsx
│   └── index.ts
└── About/
    └── About.tsx

燒烤串命名

這個實際上是參考了Angular規范,如果你對上面這個規范的大小寫命名強迫癥,不妨試試這個更嚴苛的規范。

  • 所有文件名、文件夾名都小寫,使用燒烤串命名(中劃線分割)。

  • 所有的文件都需要添加類型后綴。

  • 只有主要的頁面組件可以放在特性文件夾底層,其余文件都需要在特性文件夾中再設置類型文件夾。

  • 每個函數都應該是一個文件,不要把相同功能的函數放在一個文件內。

  • 移除 index.ts 導出,因為文件名變長且有類型后綴,引入方便判斷類型

src/
├── common/
│   ├── components/
│   │   ├── my-header.component.tsx
│   │   └── my-footer.component.tsx
│   ├── utils/
│   │   └── get-random-number.util.ts
│   ├── hooks/
│   │   └── use-theme.hook.ts
│   └── constants.ts
├── home/
│   └── home.page.tsx
├── widget/
│   ├── components/
│   │   ├── tool.component.tsx
│   │   └── option.component.tsx
│   ├── helpers/
│   │   └── set-option-storage.helper.ts
│   └── widget.page.tsx
└── about/
    └── about.page.tsx

以上就是“React文件名和目錄的規范是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桃江县| 黔东| 彰武县| 渝中区| 连南| 定西市| 南木林县| 巧家县| 安丘市| 高安市| 临西县| 邵阳县| 阿拉善盟| 综艺| 新安县| 左贡县| 巴彦县| 遂溪县| 思茅市| 普洱| 和龙市| 中宁县| 大宁县| 汝城县| 蒙山县| 易门县| 仁布县| 壤塘县| 贞丰县| 仪陇县| 马山县| 连城县| 黑龙江省| 唐山市| 商洛市| 伊川县| 内丘县| 宜章县| 藁城市| 鲁山县| 甘洛县|