Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- npm start
- 아이콘사용법
- legacy-peer
- owlcarousel
- react npm install
- 글자들여쓰기
- 정적객체
- MediaQuery
- npm install
- 이미지반응형
- googleicon
- 플러그인
- vscode git clone
- maxwidth
- node 오류
- 단어단위로떨어지기
- Git clone
- XEIcon
- 그누보드반응형
- window 정책변경
- node설치
- 동적객체
- git lab clone
- fontawesome
- package.json
- slickslider
- npm install 문제
- 의존성문제
- minwidth
- 웹아이콘
Archives
- Today
- Total
어쩌다 알게 된 ƪ(•̃͡•̃͡ ƪ
화살표 함수 컴포넌트, 함수 선언문 컴포넌트 형태와 사용 차이 본문
728x90
✅ ① 화살표 함수 컴포넌트 ( React 컴포넌트 ⭕, 커스텀 훅 ⭕, 일반 유틸 함수 ⭕)
const Test = () => {
return <div>Test</div>;
};
장점
- 일관된 스코프(lexical this) → class 기반 this 문제 없음
- 재정의 방지 가능 (const라 재할당 불가)
- 컴포넌트, 훅 작성 시 가장 많이 쓰는 패턴
- 타입스크립트에서 Props 타입 지정이 쉽다
단점
- 호이스팅 안 됨 → 선언 위에서 사용 불가
🤔 ❓호이스팅(Hoisting)이란?
=> JS에서 함수 선언문(function 선언)이나 var 변수 선언을 코드 위로 끌어올려서 해석하는 특징
즉, 선언하기 전에 호출해도 동작할 수 있음이라는 뜻
function test() {
console.log('Hello');
}
test(); // ✅ 가능
simple(); // ✅ 가능
function simple() {
console.log('Hello');
}
=> JS 엔진이 위 코드를 실행하기 전에 함수형 컴포넌트 선언을 위로 끌어올려서 먼저 준비하기 때
✅ ② 함수 선언문 컴포넌트 ( 일반 유틸 함수 ⭕)
function Test() {
return <div>Test</div>;
}
장점
- 호이스팅됨 → 선언 전에 호출 가능
- 문법적으로 깔끔하게 보임
- JS 기본 함수 형태라 직관적
단점
- this 사용 시 혼란(React 함수 컴포넌트에서는 거의 문제 없지만)
- 같은 이름의 function을 덮어쓸 수 있어 유지보수에 좋지 않음
- 타입스크립트에서 props 타입 선언이 길어짐
컴포넌트와 함수 선언 순서, 실행 순서_코드리뷰
저번에 함수형 컴포넌트와 선언형 컴포넌트에서 선언 순서에 따라 실행여부가 달라지는 걸 보고내 코드를 봤는데 의문이 들었따🤔❓ 현재 코드function CommonCalendar({ date, events, localizer, toolbar = fal
dazzle-bini.tistory.com
728x90
'개발 > 🟦 React' 카테고리의 다른 글
| 컴포넌트와 함수 선언 순서, 실행 순서_코드리뷰 (0) | 2025.11.20 |
|---|---|
| Calendar 컴포넌트_ import 'react-big-calendar' (0) | 2025.11.19 |
| [CRA/Plain React SPA] 다국어 설정 i18n.js (0) | 2025.11.14 |
| 크롬에서 리액트 렌더링 되는 부분 보기 (0) | 2025.09.30 |
| 클래스 컴포넌트 / 함수형 컴포넌트 (1) | 2025.09.03 |
Comments
