【问题标题】:How to recover data?如何恢复数据?
【发布时间】:2020-06-08 00:27:27
【问题描述】:

我是 react native 的初学者。我使用 Firebase,我想检索子 TorchesMigRefroidiesAir 以显示它包含的内容。

当我创建console.log() 时,它会显示null。我不明白怎么做。请问你能帮帮我吗 ?谢谢。

componentDidMount() {
    const ref = firebase.database().ref('PostesMig').child('TorchesMigRefroidiesAir')

    ref.on('value', snapshot => {
        this.setState({
            postes : snapshot.val(),
            loading: false
        })
    })
}

我的 json :

{
"PostesMig": [
    {
        "CodeCommun": "6460669",
        "RefFournisseur": "KFM1170001",
        "DesignationAS400": "MINARCMIG EVO 170 T3M COMPLET",
        "TorchesMigRefroidiesAir": [
            {
            "CodeCommun": "6460754",
            "RefFournisseur": "6250220",
            "DesignationAS400": "TORCHE MIG KEMPPI MMG 22 3M"
            }
        ]
    },
    {
        "CodeCommun": "6460670",
        "RefFournisseur": "KFM1200001",
        "DesignationAS400": "MINARCMIG EVO 200 T3M COMPLET",
        "TorchesMigRefroidiesAir": [
            {
            "CodeCommun": "6460754",
            "RefFournisseur": "6250220",
            "DesignationAS400": "TORCHE MIG KEMPPI MMG 22 3M"
            },
            {
            "CodeCommun": "6460742",
            "RefFournisseur": "102P721030",
            "DesignationAS400": "TORCHE MIG TBI 150 3M EXPERT"
            }
        ]
    }, 

我的 Firebase 数据库图片:

【问题讨论】:

    标签: javascript reactjs firebase react-native firebase-realtime-database


    【解决方案1】:

    您正在读取数据机智:firebase.database().ref('PostesMig').child('TorchesMigRefroidiesAir'),这意味着您正在读取路径/PostesMig/TorchesMigRefroidiesAir。该路径中没有数据,因此您会得到一个空快照。


    /PostesMig 有一个数组 数据。如果您要加载该数组中的第一个子节点,则路径为:/PostesMig/0/TorchesMigRefroidiesAir,即firebase.database().ref('PostesMig/0/TorchesMigRefroidiesAir')


    如果您要读取数组中每个项目的 `` 子项,那就是:

    const ref = firebase.database().ref('PostesMig');
    
    ref.on('value', snapshot => {
        let results = [];
        snapshot.forEach((child) => {
          results.push(child.val().TorchesMigRefroidiesAir);
        });
        this.setState({
            postes : results,
            loading: false
        })
    })
    

    【讨论】:

    • 非常感谢它有效。我想在每个位置的 flatList 中显示它们。你怎么能请?
    猜你喜欢
    • 2021-04-17
    • 2018-12-25
    • 2020-07-07
    • 2015-10-04
    • 2010-11-07
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多