を持つコンポーネントでFirebase表示データを、私はコーディングにはかなり新しいです。私はReactJSに取り組んでいます。私はFirebaseから自分のデータベース内のすべての異なるカテゴリをリストに表示しようとしています。 あなたは、私が書いたコードの下に見ることができます:それはTypeError: this.state.datas.map is not a function
と言うはJSに反応 - 地図メソッド
import Link from 'next/link'
import React, { Component } from 'react'
import firebase from 'firebase'
export default class extends Page {
constructor() {
super()
this.state = {
datas: ''
}
}
componentDidMount() {
firebase.initializeApp(clientCredentials)
// ------- Connect to the firebase DATABASE -------- ////
firebase.database().ref().orderByChild("sectionIndex")
.on("child_added",
snapshot => {this.setState({datas: snapshot.val().category});},
error => {console.log("Error: " + error.code);});
}
render() {
return (
<ul>
{this.state.datas.map((data, i) =>
<li key={i}> {data.category} </li>
</ul>
)
}
}
。私はfirebaseからのデータが配列でないかもしれないです、私はこのメッセージのエラーを持っている理由thatsのことを信じて ...
ここFirebaseのように私のデータベースがどのように見えるかです:たぶん、データベースが配列でない DB
[]しかし、オブジェクト{}なぜですか?はいの場合、どのようにして配列に変換できますか?
:
かにマップの呼び出しを書き換えます。 Firebaseにはコレクションがありませんので、数字をキーとする単なるObjectです。配列に変換するには、この質問をご覧ください:https://stackoverflow.com/questions/6857468/converting-a-js-object-to-an-array – VanDanic