[React] JSX의 if/else문
2020. 9. 9. 07:01ㆍ개발/기타
가장 기본적이고 제일 익숙한 모습의 if/else문
render(){
let link
if (this.props.user.session){
link = <a href ='/logout'>Logout</a>
else
link = <a href ='/login'>Login</a>
return <div>{link}<div>
}
즉시실행함수를 사용한 방법. link(this.props.user.session) 과 같은 방식으로 sessionFlag 파라미터에 값을 할당한다.
render(){
let link = (sessionFlag) => {
if (sessionFlag)
link = <a href ='/logout'>Logout</a>
else
link = <a href ='/login'>Login</a>
}
return <div>{link(this.props.user.session)}<div>
}
link 변수를 사용하지 않고 즉시실행함수를 사용한 방법.
위 코드의 return을 보면 아래와 같이 되어있는데 여기의 link자리에 위에서 구현한 즉시실행함수를 넣어주면된다.
return <div>{link(this.props.user.session)}<div>
아직 적응이 안되서 그런지 눈에 쉽게 들어오는 느낌은 아니다.
render(){
return <div>{
(sessionFlag) => {
if (sessionFlag)
link = <a href ='/logout'>Logout</a>
else
link = <a href ='/login'>Login</a>
}(this.props.user.session)
}</div>
}
삼항연산자를 사용한 방법.
A ? B : C 인 경우 A조건이 참이면 B를 return 하고 A조건이 거짓이면 C를 return 한다
render(){
return <div>{(this.props.user.session)
? <a href='/logout'>Logout</a>
: <a href='/login'>Login</a> }
<div>
}
'개발 > 기타' 카테고리의 다른 글
Spring Boot + React 환경셋팅 (0) | 2020.11.15 |
---|---|
[React] setInterval 메소드를 통한 상태(State) 갱신 (0) | 2020.09.13 |
[React] 변수 및 속성, 메서드 사용 (0) | 2020.09.08 |
MyBatis 사용 예제 ( feat. Spring Boot , MariaDB ) (0) | 2020.08.22 |
Anaconda에서 자주 사용하는 명령어 (0) | 2020.04.11 |