react-native-gifted-chat 实践指南

  • messages(Array) - 消息数组,用于展示消息 有特定的格式
{
  _id: 1, //消息的ID,用于标示,必须唯一
  text: 'My message', //发送的消息
  createdAt: new Date(), //发送的时间
  user: {
    _id: 2, //发送方的ID 如果是自己的ID 则在右边,否则在左边
    name: 'React Native', //发送方的昵称
    avatar: 'https://facebook.github.io/react/img/logo_og.png', //发送方的头像
  },
  image: 'https://facebook.github.io/react/img/logo_og.png',
  //添加你所需要扩展的键值对
}
{
   _id: 1,
   text: 'This is a system message',
   createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),
   system: true,
  //添加你所需要扩展的键值对
}
  • text(String) - 输入框的默认值;默认是undefined

  • placeholder(String) - 输入框的占位字符

  • messageIdGenerator(Function) - 为你的新消息自动生成一个id. 默认是用 UUID v4, 由uuid库实现 点击传送门去查看这个库 - uuid

  • user(Object) - 配置用户信息

{
   _id: 1, //发送消息需要和配置的id一致
   avatar, //头像 若不设置则不显示
   name, //昵称
}
  • onSend(Function) - 点击send时的回调

  • locale(String) -本地化日期

  • timeFormat(String) - 格式化时间,默认是本地时间,即当前时区的时间

  • dateFormat(String) - 日期格式化

  • isAnimated(Bool) - 键盘出现时,是否有动画

  • loadEarlier(Bool) - 是否显示加载更早的消息按钮 "Load earlier messages"

  • onLoadEarlier(Function) - 加载更多消息时的回调

  • isLoadingEarlier(Bool) - 点击加载更早的消息时是否出现转菊花的图标

  • renderLoading(Function) - 加载页面未加载出来时的页面

  • renderLoadEarlier(Function) - 配置 "Load earlier messages" 加载更早消息的按钮

  • renderAvatar(Function) - 配置头像,如果设置'null'则头像都不显示

  • showUserAvatar(Bool) - 是否展示自己的头像,默认时false 只展示别人的头像

  • onPressAvatar(Function(user)) - 点击头像时的回调

  • renderAvatarOnTop(Bool) 头像显示在顶部还是底部,默认是底部

    这是在底部

这是在顶部
  • renderBubble(Function) - 自定义气泡
_renderBubble(props) {
        return (
          <Bubble
            {...props}
            wrapperStyle={{
              left: { //对方的气泡
                backgroundColor: '#F5F7F7',
              },
              right:{ //我方的气泡
                backgroundColor:'#FDF099'
              }
            }}
          />
        );
      }
  • renderSystemMessage(Function) - 自定义系统消息

  • onLongPress(Function(context,message)) - 长按消息气泡时的回调,详细可以看github的演示 showActionSheetWithOptions()

  • inverted(Bool) - 反转消息的显示顺序,默认是true 即消息显示的顺序是否和你message数组的顺序相同

  • renderMessage(Function) - 自定义消息的内容View

  • renderMessageText(Function) - 自定义消息的文本

  • renderMessageImage(Function) - 自定义图片消息

  • imageProps(Object) - 额外的属性要传递给默认创建的组件rendermessageimage 点去去查看文档

  • lightboxProps(Object) - 额外的属性传递给Modal框(体现在点击图片的Modal)
    点击查看第三方 - Lightbox

  • renderCustomView(Function) - 在气泡内创建一个自己自定义的视图,即创建自定义的消息

  • renderDay(Function) - 自定义消息上方的日期

  • renderTime(Function) - 自定义消息中的时间

  • renderFooter(Function) - 自定义listView的底部, 例如.'User is typing...'; 点击查看示例 example/App.js

    for an example

  • renderChatFooter(Function) - 自定义组件的渲染下messagecontainer(从ListView分开)

  • renderInputToolbar(Function) - 自定义你的底部工具栏

  • renderComposer(Function) - 自定义textInput输入框

  • renderActions(Function) - 自定义输入框左边的按钮

  • renderSend(Function) -自定义发送按钮;您可以很容易地将子组件传递给原始组件,例如使用自定义图标。

  • renderAccessory(Function) - 在消息编辑器下面的自定义第二行操作

  • onPressActionButton\(Function) - 当点击输入框左边的按钮时的回调 (如果设置了 actionSheet将不会执行)

  • bottomOffset(Integer) - 从屏幕底部的聊天距离(如显示选项卡栏,则非常有用)

  • minInputToolbarHeight(Integer) - 工具栏的最小高度,默认是44

  • listViewProps(Object) - 列表的属性,用于扩展你的列表

  • textInputProps(Object) - 输入框的属性,用于扩展你的输入框

  • keyboardShouldPersistTaps(Enum) - 确定键盘在敲击后是否应该保持可见。一个枚举; 详情见 <ScrollView>

  • onInputTextChanged(Function) - 输入框编辑时的回调

  • maxInputLength(Integer) - 输入框输入的最多字符数

以上,会继续修改添加中 欢迎指证。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,033评论 25 707
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,389评论 0 17
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,754评论 0 15
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,647评论 18 139
  • ‌太阳横亘于长空,压服一切,威震九天。如此坚强明丽而罐眼,何等戏谑辉煌又荒诞,一切皆不须在意,一切都不用担心,其他...
    不堪敲钟阅读 357评论 0 0