2016-08-18 6 views
1

Im folgenden Code-Log-Return "True" aber Bedingung funktioniert nicht. Kann jemand wissen, was hier los ist?React Native Bedingung funktioniert nicht?

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 
     ); 
     } 

Antwort

3

Sie vergleichen boolean (loginStatus) mit Zeichenfolge. Entfernen Sie Zitate, z.B. loginStatus == true und verwenden Sie auch === anstelle von ==. Sie können auch einfach if(this.state.loginStatus) tun.

+0

Das funktioniert schon für mich "if (this.state.loginStatus)". Entschuldige die späte Antwort. Aber ich habe den Wert in string (in JSON) zugewiesen .... Obwohl if (this.state.responseData.status.status == "true") das bei mir funktioniert ... Wirklich verwirrend. –

+0

Denken Sie daran, '===' anstelle von '==' zu verwenden! –

Verwandte Themen