JSX는 단 하나의 요소만 반환할 수 있다.
이 특성을 이용해 아래와 같은 방법들로 반환이 가능하다.
div
태그로 묶어주기
여러 복합 요소들을 리스트 형태로 넘겨주기
wrapper 컴포넌트 만들기
<div>
<div>
<div>
<h2>깊이가 3인 컴포넌트 내부로 들어가봤습니다.</h2>
</div>
</div>
</div>
wrapper
컴포넌트로 의미를 알 수 있는 구조 만들어주기.const Wrapper = props => {
return props.children
}
export default Wrapper;
div
는 실제로 돔에 출력되지만 Wrapper
는 아니다.Wrapper
은 props.children을 통해 내용만 가져오며 직접적으로 div
와 내부의 요소들을 가져온게 아닌, 간접적으로 내부의 요소들만 Wrapper
내부에 불러왔기 때문이다.<Wrapper> //실제로 DOM에 출력되지 않는 Wrapper 컴포넌트
<div>
<div>
<h2>깊이가 3인 컴포넌트 내부로 들어가봤습니다.</h2>
</div>
</div>
</Wrapper>
CRA(Create React App)
는 Webpack 기반의 리액트 기본 보일러 플레이트(최소한의 변경으로 여러 곳에서 재사용되는 기능 및 코드)이다.low-level
인 Go 언어보다 느릴 수 밖에 없다. EsBuild
자바스크립트 빌드 툴을 사용dependencies
) ex) node_modules
폴더node_modules
라는 의존성 폴더만 미리 esbuild
를 이용해 빠르게 번들링함.webpack
dev server
즉, 빌드 시작 시에 webpack
이 모든 자바스크립트를 한 곳에 모아 번들링 한 후에 브라우저에 하나의 파일을 던져주는 방식이었음.vite는 Native ESM
즉, 자바스크립트 공식 모듈을 사용해 브라우저에서 필요한 소스코드만을 요청해 받아오는 방식을 사용한다.