4

アプリでreact-native-gifted-chatを使用してチャット機能を追加しました。現在、firebase から適切にメッセージを送受信できます。ただし、問題は、react-native-gifted-chatメッセージの送信時刻が常に午前 12:00 と表示されることです。これは、firebase のタイムスタンプを時間に変換できないためです。どうすれば解決できますか?

GiftedChatコンポーネントの使用方法は次のとおりです。

<GiftedChat
  messages={this.props.messages}
  renderUsernameOnMessage={true}
  onSend={messages => this.onSend(messages)}
  alwaysShowSend={true}
  textInputStyle={styles.composer}
  minComposerHeight={40}
  minInputToolbarHeight={60}
  user={{
    _id: this.props.account ?.user ?.uid,
    name: this.props.account ?.data ?.fullName,
    avatar: this.props.account ?.data ?.avatar
  }}
/>

以下は、firestore にメッセージを保存するために使用したコードです。

export const sendMessage = (message, groupId) => {
  return async () => {
    await firestore().collection('groupMessages').doc(groupId).collection('messages').doc(message._id).set(message).catch((e) => {
      throw {message: e.message.replace(`[${e.code}] `, '')}
    });
  }
}

上記のコードは、 、、およびのmessageプロパティを含むギフト チャット メッセージです。_idtextcreatedAtuser

メッセージが firebase に保存される方法は次のとおりです。

Firebase メッセージ構造

メッセージを表示すると:

メッセージ

4

3 に答える 3