2016-08-18 6 views
1

아래 코드에서 "true"를 반환하지만 조건이 작동하지 않습니다. 아무도 여기서 무슨 일이 일어나고 있는지 알 수 있습니까?React 네이티브 조건이 작동하지 않습니까?

componentDidMount() { 
     TimerMixin.setTimeout(
     () => { 
      console.log(this.state.loginStatus); 
      if(this.state.loginStatus == "true"){ 
       console.log("go to inner"); 
       //this._onPress(); 
      } 
      console.log(this.state.loginStatus); 
      }, 
      300 
     ); 
     } 

답변

3

부울 (loginStatus)과 문자열을 비교합니다. 따옴표를 삭제하십시오 (예 : loginStatus == true이고 == 대신 ===을 사용하십시오. if(this.state.loginStatus)도 할 수 있습니다.

+0

이것은 이미 "if (this.state.loginStatus)"에서 작동합니다. 늦은 답변 죄송합니다. 하지만 문자열 (JSON에서) 값을 할당했습니다 ... 비록 if (this.state.responseData.status.status == "true")이 나를 위해 일하고있다 ... 정말 혼란. –

+0

'=='대신'==='를 사용하십시오! –

관련 문제