【问题标题】:Firebase + React - Not changing my stateFirebase + React - 不改变我的状态
【发布时间】:2018-04-30 14:25:51
【问题描述】:

我有这段代码:

componentDidMount() {
    const db = firebase.database();
    let dbRefRoot = db.ref().child('sponnsor');

    dbRefRoot.child('test').on('value', snap => {
        let userData = snap.val();
        console.log('test', userData );

        this.setState({
            test: snap.val()
        })
    })

}

我只是想确保它正在工作并且我正朝着正确的方向前进!因为每次我在 Firebase 上更新我的信息时,什么都没有发生!我期待看到我的控制台日志正常工作!不是,我不明白为什么。

ps:我正在导入:import * as firebase from 'firebase';

我的对象:

{
	"sponnsor": {
		"test": 1234
	}
}

【问题讨论】:

  • child('sponnsor') 中没有错字? sponsor 也许?
  • sponnsor 是正确的,是项目的名称!带双NN ...呵呵.. www.sponnsor.com

标签: javascript reactjs firebase firebase-realtime-database


【解决方案1】:

这样更新很简单

firebase.database().ref('sponnsor')
.update({test:3456})

【讨论】:

    【解决方案2】:

    既然你已经发布了你的对象结构,我认为你应该这样做:

    let dbRefRoot = db.ref().child('sponnsor');
    
    dbRefRoot.on('value', snap => {
        let sponnsorData = snap.val();
        console.log('test', sponnsorData.test );
    
        this.setState({
            test: sponnsorData.test
        })
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-15
      • 2020-05-03
      • 1970-01-01
      • 2021-05-24
      • 2020-08-17
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      相关资源
      最近更新 更多