0

我試圖增加火力點到我的反應本地應用程序,並具有下列代碼:如何解析變量爲firebase.database()REF()括號({...})

_saveFile(fileName){ 
    var userPath = "/Users/Johnny/files/"; 
    var storageString = ("Johnny Johnson\n"+ date + "\n" + 
      this.state.text); 
    var name = fileName; 

    firebase.database().ref(userPath).set({ 
     name : storageString 
    }) 

} 

但是,正如你可能猜到的,這並沒有得到name變量並將其存儲爲密鑰。這只不過是將其存儲在數據庫中..

用戶 - >約翰尼 - >文件 - > {名:「無論是字符串我救」}

,然後只需每次我試圖重寫它,創建一個新文件。只是想知道我如何解析這個fileName變量?它正確地獲得孩子的價值 - 這就是爲什麼我很困惑。

任何幫助將不勝感激,我很新的這一點。

回答

1

如果您將括號放在name左右,它將使用name變量而不是創建名爲name的鍵。

firebase.database().ref(userPath).set({ 
    [name] : storageString 
}) 
+0

謝謝!任何想法爲什麼這會刪除我在數據庫中的當前條目? (它唯一存儲的) –

+0

當你設置覆蓋並只存儲一個時,不太熟悉firebase?也許你需要檢索當前存在的內容並將其追加到設置: 'const currentValues = //獲取當前存儲在該文件路徑中的內容 firebase.database()。ref(userPath).set({... currentValues, [name]:storageString });'' –