跳到主要内容

React TypeScript Naming Conventions

Files & Folders

CategoryConventionExample
ComponentsPascalCase.tsxUserProfile.tsx
HookscamelCase.ts with use prefixuseAuth.ts
Utilities/HelperscamelCase.tsformatDate.ts
Types/InterfacescamelCase.types.tsuser.types.ts
ConstantscamelCase.tsapiEndpoints.ts
Services/APIcamelCase.ts with suffixauthService.ts
StylesComponentName.module.cssButton.module.css
TestsfileName.test.ts(x)Button.test.tsx

Folder Structure

src/
├── components/
│ └── Button/
│ ├── Button.tsx
│ ├── Button.module.css
│ └── Button.test.tsx
├── hooks/
│ └── useAuth.ts
├── utils/
│ └── formatDate.ts
├── types/
│ └── user.types.ts
├── services/
│ └── authService.ts
├── constants/
│ └── apiEndpoints.ts
├── pages/
│ └── Home.tsx
└── App.tsx

Code Naming Conventions

ElementConventionExample
VariablescamelCaseconst userName = "John"
FunctionscamelCasefunction fetchData() {}
ComponentsPascalCasefunction Button() {}
TypesPascalCasetype ButtonProps = {}
InterfacesPascalCaseinterface User {}
ConstantsUPPER_SNAKE_CASEconst API_BASE_URL = "..."
EnumsPascalCase + UPPER_CASE valuesenum UserRole { ADMIN = 'ADMIN' }

Quick Summary

✅ The Rule:

  • Components: PascalCase.tsx
  • Everything else: camelCase.ts
  • Constants inside code: UPPER_SNAKE_CASE
  • Component code: PascalCase