본문 바로가기

내배캠 4기 React - TIL

221214 TIL

{todos
 .filter((item) => {
 	if(item.isDone === false) {
    	return item;
    }
 })
 .map((item) => {
 	return (
    	<div style={todoStyleObj} key={item.id}>
       	  <p>{item.title}</p>
          <p>{item.contents}</p>
          <button>완료</button>
          <button>삭제</button>
        </div>
    )
 })
}

// todos를 돌면서 item의 isDone이 false이면 그 item을 리턴해주고
// 그 리턴된 item들을 map으로 또 돌면서 return 안의 형태로 반환해줘라
// map은 전체 div를 리턴하기 때문에 몇 번째 div 인지 알기 위해 key 값을 줘야 함

==> if문을 삼항연산자로 바꾸면

{todos
 .filter((item) => {
 	return item.isDone === false ? item : null;
 })
}
// isDone이 false일 때 item을 주고 그게 아니면 아무것도 주지마
// 이게 만약 map으로 했다면 요소의 개수가 줄어드는 게 아니라 null이 undefined로 들어감

==> 삼항연산자를 null병합연산자로도 가능

{todos
 .filter((item) => {
 	return item.isDone === false ?? item; 
 })
}

==> 더 간략하게 

{todos
 .filter((item) => {
 	return !item.isDone ?? item; 
 })
}

// return문이 한 줄 이면 중괄호 생략 가능

{todos
 .filter((item) => !item.isDone ?? item);
}

null병합연산자는 아직 익숙하지 않아서 그런지 잘 못 쓰겠다..

 

'내배캠 4기 React - TIL' 카테고리의 다른 글

221216 TIL  (0) 2022.12.19
221215 TIL  (0) 2022.12.15
221213 TIL  (0) 2022.12.13
221212 TIL  (1) 2022.12.12
221209 TIL  (0) 2022.12.09