728x90
728x90
map 함수를 사용할 때 중괄호({})와 소괄호(())
들어가며
- 리액트(React)에서 중괄호 @{}@와 소괄호 @()@는 주로 JSX 안에서 사용되며, 특히 @map()@ 메서드와 함께 사용될 때 주의해야 할 점이 몇가지 있다.
- @map@ 함수를 사용할 때 중괄호(@{}@)와 소괄호(@()@)를 사용하는 경우의 차이에 대해 알아보자.
중괄호(@{}@)
- 자바스크립트 표현식(Expression)을 감싸기 위해 사용된다.
- 중괄호를 사용할 때는 반드시 반환값이 있어야 하며, 명시적으로 @return@ 키워드를 사용해서 값을 반환해야 한다.
- 여러 줄의 코드가 필요하거나 조건문 등 복잡한 로직을 작성해야 할 때 사용한다.
const items = ['Apple', 'Banana', 'Cherry'];
const listItems = items.map((item) => {
return <li key={item}>{item}</li>;
});
return (
<ul>
{listItems}
</ul>
);
- 위의 코드를 다음과 같이 중괄호(@{}@)와 @return@ 키워드를 생략하여 소괄호(@()@)로 사용할 수 있다.
const items = ['Apple', 'Banana', 'Cherry'];
const listItems = items.map(item => (
<li key={item}>{item}</li>
));
return (
<ul>
{listItems}
</ul>
);
- 이럴 경우, 객체는 다음과 같이 반환할 수 있다.
const items = ['Apple', 'Banana', 'Cherry'];
const objectList = items.map(item => ({
id: item,
name: item
}));
console.log(objectList);
// Output: [{ id: 'Apple', name: 'Apple' }, { id: 'Banana', name: 'Banana' }, { id: 'Cherry', name: 'Cherry' }]
소괄호(@()@)
- JSX를 바로 반환하는 경우에 사용된다.
- 이 경우에는 @return@ 키워드를 생략할 수 있으며, 암시적으로 반환값이 처리된다.
- 주로 한 줄로 작성할 때 이 방법을 사용한다.
- 단순히 JSX를 반환하는 경우, 더 간결하게 작성하고 싶을 때 사용한다.
const items = ['Apple', 'Banana', 'Cherry'];
const listItems = items.map((item) => (
<li key={item}>{item}</li>
));
return (
<ul>
{listItems}
</ul>
);
요약
- 중괄호(@{}@)는 자바스크립트 표현식을 실행하는 블록을 만들며, 명시적으로 @return@을 사용해야 한다.
items.map((item) => {
return <li key={item}>{item}</li>;
});
- 소괄호(@()@)는 JSX를 암시적으로 반환하며, @return@ 키워드를 생략할 수 있다.
items.map((item) => (
<li key={item}>{item}</li>
));
728x90
728x90
'Programming > React' 카테고리의 다른 글
[React.js] <form> 요소에서 제출(Submit) 버튼 사용 시 기본 동작 막는 방법 (0) | 2024.06.28 |
---|---|
[React.js] memo() 사용할 때 주의할 점 (0) | 2024.06.25 |
[React.js] useEffect와 useCallback (0) | 2024.06.24 |
[React.js] useReducer 훅 (0) | 2024.06.07 |
[React.js] 토스트 메시지 띄우기 간단 예제 (ReactDOM.createPortal) (0) | 2024.05.21 |
[React.js] useImperativeHandle과 forwardRef (0) | 2024.05.21 |
[React.js] 부모 컴포넌트에서 자식 컴포넌트로 요소 넘기는 방법 (0) | 2024.05.14 |
[React.js] 실시간으로 특정 요소의 길이값 가져오기 (0) | 2024.03.26 |