首页 > 解决方案 > 没有从 firebase 数据库中获取字符串

问题描述

    useEffect(()=>{

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

[![][1]][1]

我的数据库 [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}}

但我什么也没得到。可能的错误将在 on 函数中。或者函数正在工作,但给了我一些其他格式的数据,需要将其转换为其他格式

标签: reactjsfirebase-realtime-database

解决方案


我就是这样做的。

useEffect(()=>{
  const preferenceRef = fire.database().ref(
    '/users/PKWNi2pt2mUfv097pTKwEtsnyOt2/preference/'
  );
  cosnt callback = (snapshot) => {
    setPrefer(snapshot.val());
  };
  preferenceRef.on('value', callback);
  
  return () => {
    preferenceRef.off('value', callback);
  };
);
}, [])


推荐阅读