2017-12-03 15 views
0

これで私を助けてくれますか?私はlet変数を返すようにしようとしています。結果に応じてlet値を変更する

class Main extends React.Component{ 
    render(){ 
    let content = ''; 
    firebase.auth().onAuthStateChanged(function(user) { 
     if (user) { 
      // User is signed in. 
      content = 'Logged in'; 
      // ... 
     } else { 
      content = 'Logged Out'; 
      // ... 
     } 
     console.log({content}); 
     }); 
    return <h1>{content}</h1>; 
    } 
} 

何も返されませんが、

ありがとうございました!

+0

。 – Andy

答えて

1

を反応成分のネットワーク係合操作に使用してください。

あなたのコードは次のようにする必要があります:あなたがそのような値を返すことはできませんので、認証機能が非同期になることを

class Main extends React.Component { 
    constructor(props) { 
    super(props); 
    this.state = { content: '' }; 
    } 
    componentDidMount() { 
    firebase.auth().onAuthStateChanged(function(user) { 
     this.setState({ content: user ? 'Logged in' : 'Logged Out' }); 
    }) 
    } 
    render() { 
    return <h1>{content}</h1>; 
    } 
}