일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ㅡ
- debouncing
- 부모패딩
- CustomHook
- createPortal
- parent padding
- transition
- 서초구보건소 #무료CPR교육
- alias설정
- es6
- 화살표2개
- DOM
- 조건부스타일
- vite
- react
- tailwindCSS
- 문제해결
- ignore padding
- 제어컴포넌트
- BlockFormattingContext
- QueryClient
- ?? #null병합연산자
- 부모요소의 패딩 무시
- useQueryClient
- Carousel
- twoarrow
- 리액트
- BFC
- 함수형프로그래밍
- accordian
Archives
- Today
- Total
프론트엔드 첫걸음
조건부 내용 출력 - 삼항연산자 대신 논리연산자 사용해보기 본문
- 자바스크립트 메뉴에 넣으려다가 삼항연산자, 논리연산자 자체에 대한 설명이 아니라
리액트에서의 사용에 관한 포스팅이기 때문에 리액트 메뉴에 포함시킴
삼항연산자로 조건부 내용 출력
{filteredExpenses.length === 0 ? (
<p>No expenses found </p>
) : (
filteredExpenses.map((expense) => (
<ExpenseItem
key={expense.id}
title={expense.title}
amount={expense.amount}
date={expense.date}
/>
))
)}
논리연산자 &&로 조건부 내용 출력
{filteredExpenses.length === 0 && <p>No expenses found </p>}
{filteredExpenses.length > 0 &&
filteredExpenses.map((expense) => (
<ExpenseItem
key={expense.id}
title={expense.title}
amount={expense.amount}
date={expense.date}
/>
))}
- 삼항연산자를 사용하는 것도 좋은 방법이지만 논리연산자 &&를 사용하는 것이 더 이해하기 쉬워보인다.
+ 논리연산자 && 를 쓰지않고 깔끔하게 바꿔보기
let expenseContent = <p>No expenses found </p>;
if (filteredExpenses.length > 0) {
expenseContent = filteredExpenses.map((expense) => (
<ExpenseItem
key={expense.id}
title={expense.title}
amount={expense.amount}
date={expense.date}
/>
));
}
return (
<>
<ExpenseFilter>
{expenseContent}
</ExpenseFilter>
</>
);
- 관련 로직은 JSX 코드 바깥으로 꺼내 더 가독성 좋고 깔끔하게 만들 수 있다.
또는 이렇게 할 수도 있겠다.
if (filteredExpenses.length == 0) return <p>No expenses found </p> ;
return (
<>
<ExpenseFilter>
{filteredExpenses.map((expense) => (
<ExpenseItem
key={expense.id}
title={expense.title}
amount={expense.amount}
date={expense.date}
/>}
</ExpenseFilter>
</>
);
'개발 공부 > React' 카테고리의 다른 글
조건부 스타일 설정 (0) | 2022.07.20 |
---|---|
input된 데이터 양방향 바인딩 또는 UseRef (0) | 2022.07.20 |
리액트 라우터 사용하기 (0) | 2022.07.19 |
리액트 이미지 넣기 (0) | 2022.07.19 |
데이터를 자식컴포넌트에서 부모컴포넌트로 보내기 (0) | 2022.07.15 |