我无法从Firebase获取数据。 Firebase.js用于初始化Firebase,在App.js中,我尝试获取并使用它。 现在,当我尝试获取数据并将其显示在浏览器中时,我只会看到空白页。看起来我没有任何数据。 由于某些原因,我什至无法从stocksRef.on('value',(dataSnapshot)进行console.log,并且我无法检查获得和获得的数据。 请帮我修复它。
App.js
class StocksList extends Component {
constructor(props){
super(props);
this.state = {
stocks: []
}
}
componentDidMount() {
const stocksRef = firebase.database().ref('list');
console.log('popopok', stocksRef)
stocksRef.on('value', (dataSnapshot) => {
let list = dataSnapshot.val();
this.setState({
stocks: Object.values(list)
})
})
}
render() {
return (
<div>
{this.state.stocks.map((item) => {
return (
<div>
<p>ISIN: {item.isin}</p>
<p>issuer: {item.issuer}</p>
<p>issuerCode: {item.issuerCode}</p>
<p>ISIN: {item.isin}</p>
<p>nominal: {item.nominal} {item.currency}</p>
<p>form: {item.form}</p>
<p>vyd: {item.vyd}</p>
</div>
)
})}
</div>
)
}
}
export default StocksList;
firebase.js
import firebase from 'firebase'
let config = {
apiKey: ******,
authDomain: ******,
databaseURL: ******,
projectId: ******,
storageBucket: ******,
messagingSenderId: ******,
appId: ******
};
firebase.initializeApp(config);
export default firebase;
答案 0 :(得分:1)
您需要在Firebase控制台上制定访问权限规则。
据我所知,您需要为Firebase实时数据库中的Access数据制定一些规则。
而且,如果您想了解Firebase权限规则,只需阅读我的参考
您可以检查下一个代码的错误
try{
stocksRef.on('value', (dataSnapshot) => {
let list = dataSnapshot.val();
this.setState({
stocks: Object.values(list)
})
})
} catch(error) {
console.log(error);
}
答案 1 :(得分:0)
尝试这样
async componentDidMount() {
const stocksRef = await firebase.database().ref('list');
console.log('popopok', stocksRef)
stocksRef.on('value', (dataSnapshot) => {
let list = dataSnapshot.val();
this.setState({
stocks: Object.values(list)
})
})
}