자... 디지털회로 수업을 들어본 학생이라면 (혹은 그냥 코딩하다) &&, || 를 접해 본 적이 있을 것이다
???: &&은 둘 다 참일 때, ||은 둘 중 하나가 참일 때 true을 반환하잖아요!
&&: 논리곱 연산자
-true && true =>true 반환, true && false => false 반환
둘 다 true일 떄 true를 return!
||: 논리합 연산자
- true || true => true 반환, true || false => true 반환, false || false => false
둘 중 하나라도! true일 때 true를 retrun!
자 그럼 이건 무슨 뜻일까?
{isWriter && ( //isWriter={글 작성자 아이디 === 현재 로그인된 아이디}
<>
<button>삭제하기</button>
<button>수정하기</button>
</>
??? 아니 좌항 우항 비교 해서 true 아니면 false 출력하는 거 아님?
왜 갑자기 버튼을 넣어요...?
그렇다... 사실 논리 연산자를 사용하여 if else문 처럼 사용할 수 있다!
&& 연산자: true일시, 우항 실행
|| 연산자: false일시, 우항 실행
//isWriter={글 작성자 아이디 === 현재 로그인된 아이디}로 선언함
//isWriter가 true이면 삭제/ 수정 버튼 컴포넌트를 노출함
{isWriter && (
<>
<button>삭제하기</button>
<button>수정하기</button>
</>
★ <> </>로 감싸준 이유: react에서 사용된 JSX 요소는 반드시 부모 태그가 감싸줘야하는데,
부모 역할을 해줄 빈 태그로로 감싸준 것이다!
기타적인 코드 요소는 제외하였습니다! TRUE시, 버튼이 출력된다는 것만 봐주세요
//isWriter={글 작성자 아이디 === 현재 로그인된 아이디}로 선언함
//isWriter가 false이면, 수정 불가능한 사용자입니다. 라는 문구 출력
{isWriter || (
<> <h1> 수정 불가능한 사용자입니다. </h1>
</>
)}
★ 참고용
//삼항연산자를 사용한 출력
{isWriter ? (
<>
<button>삭제하기</button>
<button>수정하기</button>
</>) : ( <></>)
}
삼항연산자를 사용하여 이와같이도 출력할 수 있다~
if else문만 있는 줄 알았더니만 다양하게 true false 값에 따라 값을 출력할 수 있다는 걸 알 수 있지요? ^^
'React' 카테고리의 다른 글
[React] react query에 대해 알아보기 (0) | 2022.05.19 |
---|---|
[JS/CSS] styled-components가 뭘까?/ styled-components 기본 문법 정리! (0) | 2022.05.05 |
[React] 정말 간단한 react 로딩화면 만들기 /react-loader-spinner 사용하기 (0) | 2022.05.03 |
[React JS] 점 세 개(...)를 이용하여 변수와 배열 합치기 / 자바스크립트 ...의 의미 (0) | 2022.04.27 |
UUID가 대체 뭘까? /firebase storage에서 파일 UUID 부여하기 (0) | 2022.03.14 |