函数外可访问的变量

Variable accessible outside the function

我有这个 React Native 代码,我想在这个之外使用 gameOfTheUser 变量(在箭头函数中创建:userRef. ounce (' value'). then (snapshot =>)。怎么做?

export default class RouterScreen extends React.Component {
componentDidMount() {
const { navigate } = this.props.navigation;
fb.auth().onAuthStateChanged(user => {
  if (user) {
    // user exist
    var userRef = fb.database().ref('users/' + user.uid);
    userRef.once('value').then(snapshot => {
      var gameOfTheUser = snapshot.child('game').val();
      console.log('0 : ' + gameOfTheUser);
    });
    if (gameOfTheUser !== null) {
      // gameOfTheUser --> error variable is not created
      // user in game --> redirect to Game (@user, @game)
      console.log('InGame');
      var gameID = gameOfTheUser;
      console.log('1 : ' + gameOfTheUser);
      console.log('1 : ' + gameID);
      navigate('Game', { user, gameID });
    } else {
      // user not in game --> redirect vers Choose (@user)
      console.log('NotInGame');
      navigate('Choose', { user });
    }
  } else {
    // user doesn't exist
    navigate('Auth');
  }
});
}

你可以: 1)更新不在此范围内但在全局范围内的var(例如使用事件) 2)设置一个state/props(取决于它是否改变)并与主要组件分享它