더북(TheBook)

onAskRemove라는 함수를 만들어서 WriteHeader에 Props로 전달해줬습니다.

이전에 Alert.alert를 사용할 때는 취소 버튼의 onPress와 4번째 인자인 옵션 객체에 Alert.alert를 닫을 때 호출하는 함수인 onDismiss() => {}와 같은 형태로 아무 작업도 하지 않는 함수를 넣어줬는데, 만약 아무 작업도 하지 않는다면 아예 생략해도 무방합니다.

추가로 isEditing이라는 값도 전달해줬습니다. WriteHeader에서는 이 값을 확인해 삭제 버튼을 보여줄지 말지 결정하면 됩니다.

여기서 !!log라는 코드를 사용했지요? 이는 log가 유효한 값이면 true, 그렇지 않으면 false 값을 전달하겠다는 의미입니다. NOT 연산자 !는 기본적으로 truefalse로, 또는 falsetrue로 바꿉니다. 하지만 Boolean이 아닌 타입에 ! 연산자를 쓴다면 어떻게 될까요?

!null -> true

!{} -> false

!'' -> true

![] -> false

이처럼 NOT 연산자를 두 번(!!) 사용할 경우 log 값이 유효한 객체라면 값이 true가 되고, 값이 null이나 undefined라면 false가 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.