더북(TheBook)

함수 표현식으로 작성한 코드(방법 2: JSX 밖에서 return 문 앞에 함수를 작성하는 방법)를 좀 더 자세히 살펴보면 다른 방법을 생각해볼 수 있다. 같은 함수를 JSX 내부에서 즉시실행함수(Immediately Invoked Function Expression, IIFE)(http://mng.bz/387u)로 선언할 수 있다. 이 방법을 이용하면 link처럼 변수를 추가하지 않고도 if/else 문을 런타임에 실행할 수 있다.

render() {
  return <div>{
      (sessionFlag) => { ---- 즉시실행함수 정의
          if (sessionFlag)
              return <a href='/logout'>Logout</a>
          else
              return <a href='/login'>Login</a>
      }(this.props.user.session) ---- 매개변수와 함께 즉시실행함수 실행
  }</div>
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.