3

我使用 React Native Gifted Chat 来创建一个 UI 聊天,我想在气泡聊天下渲染聊天时间和符号。

我想做这样的图像: 在此处输入图像描述

我尝试使用渲染消息,但没有运气,请帮忙。

4

1 回答 1

5

我只是在做我自己。您需要做的是拥有自定义的 renderBubble,您可以在其中使用您自己的组件进行包装。它看起来像这样。代码的第一部分只是时间戳向左或向右对齐,这取决于消息是否由当前用户编写。

renderBubble(props) {
    var sameUserInPrevMessage = false;
    if (props.previousMessage.user !== undefined && props.previousMessage.user) {
      props.previousMessage.user._id === props.currentMessage.user._id ? sameUserInPrevMessage = true : sameUserInPrevMessage = false;
    }

    var messageBelongsToCurrentUser = currentUserId == props.currentMessage.user._id;
    return (
      <View>
        {!sameUserInPrevMessage && <View
          style={messageBelongsToCurrentUser ? styles.messageTimeAndNameContainerRight : styles.messageTimeAndNameContainerLeft}
        >
          
        <Bubble
          {...props}
        />
          <Text style={styles.messageTime}>{moment(props.currentMessage.createdAt).format("LT")}</Text>
          <Text style={styles.messageUsername}>{props.currentMessage.user.name}</Text>
        </View>}
      </View>
    )
  }

也把它放在 GiftedChat 组件中renderMessage={this.renderBubble}

于 2020-02-13T22:10:38.743 回答