Функция доступа в кавычках - PullRequest
0 голосов
/ 02 апреля 2019

Я получаю некоторые данные (foo) из базы данных Firebase.В настоящее время я могу получить доступ к этим данным только с помощью своей функции displayValue ().Хотя я теряюсь в том, как разместить эту функцию в своем теге видео.Поскольку мне нужно сначала получить данные из firebase, функции должны находиться между url = {..}, но я не уверен, как это сделать.

var foo;
firebase
  .database()
  .ref(`/topics/lec1`)
  .once("value")
  .then(function(snapshot) {
    foo = snapshot.val();
    displayValue(); // after getting value display in fucntion
  });


 function displayValue() {
      //foo
      //value foo from firebase 
     foo;
    }

return(
      <Video url={displayValue(..)} // foo value needs to show here after getting value
...

1 Ответ

1 голос
/ 02 апреля 2019

Попробуйте это:

class YourComponent {
    state = {
        foo: null
    };

  componentDidMount() {
    let foo;
    firebase
      .database()
      .ref('/topics/lec1')
      .once('value')
      .then((snapshot) => {
        foo = snapshot.val();
        this.setState({ foo });
      });
  }

  render() {
      const { foo } = this.state;
      if (!foo) return null;

      return <Video url={foo} />
  }
}
...