1
ではない私が反応アプリケーションを開発していると私は、このマッピング機能で問題に遭遇しました:はキャッチされない例外TypeErrorに反応:this.state.messages.mapが機能
render() {
const messages = this.state.messages.map((message) => {
return (
<li key={message[".key"]}>{message.text}</li>
)
})
return (...)
}
私は次のエラーを取得します:
Uncaught TypeError: this.state.messages.map is not a function
私はそれがキーと関係があると思います。私のメッセージは状態がFirebase
でcomponentDidMount
機能を用いて充填されています
componentDidMount() {
firebase.database().ref("messages/").on("value", (snapshot) => {
const messages = snapshot.val()
if(messages != null) {
this.setState({
messages: messages
})
}
})
}
そして、メッセージはこの機能が追加されます。
submitMessage(e) {
const nextMessage = firebase.database().ref("messages/").push({
text: this.state.message
})
}
これは、1つのメッセージと私のFirebaseデータベースは次のようになります意味:
{
"messages" : {
"-KV6trWbEW73p8oS49Qk" : {
"text" : "test"
}
}
}
私の疑念は私がキーを間違って識別していることです。この問題を解決する助けがあれば幸いです。
パーフェクト!ありがとうございました :) –