//////
Search

네이밍 컨벤션

태그

1. 네이밍 컨벤션

폴더명
camelCase : 직접적으로 바로 react컴포넌트가 들어있지 않은 간접적인 관계의 폴더 • PascalCase : react 컴포넌트가 바로 들어 있는 폴더
파일명
• React 컴포넌트 : PascalCase - 페이지명은 __Page로 작성 (예: HomePage.jsx, LoginPage.jsx) - 네이밍은 종류 - 역할 - 컴포넌트 순으로 (예: LoginSubmitButton.jsx) • 이미지파일 : kebab-case - 네이밍은 이미지명-image으로 (예: logo-image.png, happy-lion-image.png) • jsx : PascalCase • js : camelCase • 스타일드 컴포넌트 파일 : ~~Style.jsx로 표현
변수명
• 일반적인 변수, 함수 : camelCase - 변수: ‘명사형'으로 작성. 무엇을 담고있는지 정확히 표현(예: numberOfPeople) - 불린형 변수: is로 시작 (예: isOpen) - 함수 : ‘동사형'으로 작성. 무엇을 하는 함수인지 정확히 표현 * 어떤 값으로부터 다른 값을 계산하는 함수는 get으로 시작 (예: getInputValue) - 커스텀 훅 : use로 시작 (예: useGetWindowSize) - 이벤트 함수를 보내는 prop 이름은 on__으로 짓고, 이벤트 함수 이름은 handle__으로 짓기 (아래 예시 참조) • 상수 : UPPER_SNAKE_CASE • 생성자 함수, 클래스 : PascalCase
이벤트 함수 props ( on__) + 네이밍 + handler으로 짓기의 예
import { MouseEvent as ReactMouseEvent, useCallback, useState } from 'react' function FunctionComponent() { const [searchTerm, setSearchTerm] = useState('') // 이벤트 핸들러 함수 const onClickSearchButtonHandler = useCallback(e) => { ... }) const onChangeSearchTermHandler = useCallback(e => { ... }) // 이벤트 핸들러 prop return ( <> <SearchInput onChange={onClickSearchButtonHandler} /> <SearchButton onClick={onChangeSearchTermHandler} /> </> ) } export default FunctionComponent
JavaScript
복사