모든 네이밍은 모든 팀원이 이해하기 편하면서 심플하게 작성한다.
// const Login = ( ) => { }// const titleChangeHandler = ( e ) => { }// DUMMY_DATA = []// const [ isModal, setIsModal ] = useState( false )// const handle + Change + Title = ( e ) => { }import React, { useState, useEffect } from 'react';
// 1. 외부 모듈 및 라이브러리 임포트
import { fetchData } from './api';
import './MyComponent.css';
// 2. 상수, 열거형 및 유틸리티 함수 선언
const API_URL = '<https://api.example.com/data>';
function calculateValue(a, b) {
return a + b;
}
// 3. 컴포넌트 선언
const MyComponent = () => {
// 4. useState 훅 선언 // 가장 상단에 선언 해야 한다는 규칙이 있음
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
// state 불러오기
// 5. useEffect 훅 선언 (비동기 데이터 호출 등)
useEffect(() => {
fetchData(API_URL).then(response => {
setData(response);
setLoading(false);
});
}, []);
// 6. 이벤트 핸들러 함수 선언
const handleClick = () => {
console.log('Button clicked');
};
// 7. 조건부 렌더링 로직
if (loading) {
return <div>Loading...</div>;
}
// 8. JSX 반환
return (
<div>
<h1>Data:</h1>
<pre>{JSON.stringify(data, null, 2)}</pre>
<button onClick={handleClick}>Click me</button>
</div>
);
};
// 9. 기본 내보내기
export default MyComponent;