[英]React + Firebase database componentDidMount and snapshot not working
I am trying to get .on('value') to fire so I can retrieve data but something is not working correctly. 我正在尝试启动.on('value')以便我可以检索数据,但是某些操作不正确。 'Mounted' logs fine, but 'test' does not.
“安装”日志很好,但是“测试”却不好。 Can somebody please explain what I am probably misunderstanding?
有人可以解释一下我可能造成的误解吗? Additionally, I would like to update the state as shown in the commented out code.
另外,我想更新状态,如注释掉的代码所示。
Thank you for your help! 谢谢您的帮助!
import React, { Component } from 'react'
import './Creature.css'
import Emblem from '../../../img/emblem_macabre.png'
import Macabre from '../../../img/macabre.jpg'
import * as firebase from 'firebase';
class Creature extends Component {
constructor() {
super()
this.state = {
name: '',
cultId: ''
}
}
componentDidMount() {
console.log('mounted')
const creatureCards = firebase.database().ref().child('creatureCards')
console.log(creatureCards)
creatureCards.on('value', snap => {
console.log('test')
})
// var name = snap.child('name').getValue()
// var cultId = snap.child('cultId').getValue()
// this.setState({
// name: name,
// cultId: cultId
// })
}
render() {
return(
<div className="creatureCard">
<span className="creatureName">{this.state.name}</span>
<span className="creatureArt"><img src={Macabre} alt=""/></span>
<ul className="creatureAttributes">
<li className="creatureAttribute">R</li>
<li className="creatureAttribute">D</li>
<li className="creatureAttribute">I</li>
<li className="creatureAttribute">H</li>
</ul>
<span className="creatureDescription">
<p>Card descriptions and abilities. This section defines the card and its roll in the game.</p>
</span>
<div className="emblem">
<img src={Emblem} alt=""/>
</div>
</div>
)
}
}
export default Creature
问题在于,有时我切换到了Firestore,但仍在对数据库进行调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.