React
- 메타(前 페이스북)에서 개발 및 관리하는 JavaScript Library
- 특징
- 선언적: 절차적인 방식의 JavaScript와는 달리 "어떻게"를 고민하지 않아도 됨
- Virtual DOM
- Component: 재사용 가능한 UI 구성 단위, 독립 사용, 유지보수 효율, 다른 컴포넌트와 조합 및 포함 가능 등의 특징
- 클래스 컴포넌트(사용 빈도 ↓)
- 함수 컴포넌트: 라이프 사이클을 관리하는 Hook 함수 (사용 빈도 ↑)
- JSX: React에서 사용하는 JavaScript 확장 문법으로, JavaScript 파일에서 HTML 마크업와 JavaScript 로직을 동시에 작성할 수 있음
JSX 문법
1. JSX element
const welcome = <p>Welcome</p>;
2. JSX attribute
<span className="text-bold">안녕하세요</span>
3. Self-Closing Tag
<img src="url" alt="value" />
4. Inline Styling
<div style={{ backgroundColor: "red", color: "black" }}>
배경 영역
</div>
5. JavaScript 표현식
const Introduce = (name) => {
return <h1>{name} 님, 저는 AI입니다.</h1>;
};
6. Event 처리
<button type="button" onClick={submitClick}>회원가입</button>
7. Nested JSX
const Introduce = (name) => {
return (
<div>
<span>{name} 님, 저는 AI입니다.</span>
</div>
)
}
8. React.Fragment
const Introduce = (name) => {
return (
<React.Fragment>
<span>{name} 님, 저는 AI입니다.</span>
</React.Fragment>
)
}
const Introduce = (name) => {
return (
<>
<span>{name} 님, 저는 AI입니다.</span>
</>
)
}