[react] JSX 형제 요소 랜더링하기
React에서 JSX를 사용하면 컴포넌트에서 여러 요소를 렌더링할 수 있습니다. 그러나 자바스크립트의 문법적 제한으로 인해 형제 요소를 그대로 렌더링하는 것은 허용되지 않습니다. 이때 몇 가지 방법을 사용하여 형제 요소를 렌더링할 수 있습니다.
Fragments를 사용하기
Fragments를 사용하면 렌더링할 때 실제 DOM에 영향을 미치지 않고 여러 요소를 그룹화할 수 있습니다. Fragments는 아무것도 렌더링하지 않고 자식 요소들을 그룹화할 수 있는 새로운 방법으로, key 속성을 사용하여 맵핑된 데이터 렌더링도 가능합니다.
import React, { Fragment } from 'react';
const MyComponent = () => {
return(
<Fragment>
<ChildComponent1 />
<ChildComponent2 />
</Fragment>
);
}
배열을 사용하기
배열을 사용하여 여러 요소를 렌더링할 수 있습니다. 배열을 반환하면 React는 배열의 각 요소를 순서대로 렌더링합니다.
import React from 'react';
const MyComponent = () => {
return [
<ChildComponent1 key={1} />,
<ChildComponent2 key={2} />
];
}
컴포넌트를 감싸기
또 다른 방법으로 여러 요소를 렌더링하는 것은 컴포넌트를 하나 더 생성하여 요소들을 감싸는 것입니다.
import React from 'react';
const MyComponent = () => {
return(
<div>
<ChildComponent1 />
<ChildComponent2 />
</div>
);
}
이러한 방법들을 사용하여 React에서 간단하게 형제 요소를 렌더링할 수 있습니다.
결론
React에서 형제 요소를 렌더링할 때, Fragments를 사용하거나 배열을 반환하거나 컴포넌트를 감싸는 방법을 사용할 수 있습니다. 이러한 다양한 방법을 이용하여 JSX에서 형제 요소를 렌더링할 수 있습니다.
참고 자료:
- React Fragments: https://reactjs.org/docs/fragments.html
- React Key 속성: https://reactjs.org/docs/lists-and-keys.html#keys