не получает строку из базы данных Firebase - PullRequest
0 голосов
/ 28 марта 2020
    useEffect(()=>{

        fire.database().ref().child('/users/PKWNi2pt2mUfv097pTKwEtsnyOt2/preference/').
        on("value",(snapshot)=>{
            let item=snapshot.val()
            console.log(snapshot.val())
            setPrefer(item)
            }
    );})

[! [] [1]] [1]

my db [1]: https://i.stack.imgur.com/3CvZT.png

Я ожидаю, что предпочитаю быть

{"food":{"indian":false,"british":false,"american":false,
                                        "spanish":false,"chinese":false,"mexican":false,
                                        "japanese":false,"italian":false,"french":false}}

но я ничего не получаю. Возможная ошибка будет во включенной функции. Или функция работает, но дает мне какой-то другой формат данных, и нужно преобразовать его в какой-то другой формат

1 Ответ

1 голос
/ 28 марта 2020

Вот как бы я это сделал.

useEffect(()=>{
  const preferenceRef = fire.database().ref(
    '/users/PKWNi2pt2mUfv097pTKwEtsnyOt2/preference/'
  );
  cosnt callback = (snapshot) => {
    setPrefer(snapshot.val());
  };
  preferenceRef.on('value', callback);
  
  return () => {
    preferenceRef.off('value', callback);
  };
);
}, [])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...