npm 包 react-native-gifted-chat-video-support 使用教程

介绍

React Native 是一个很火的移动端框架,而 react-native-gifted-chat-video-support 则是基于 React Native 实现的一款聊天界面库,可以支持一些常见的聊天功能,例如文本消息、图片消息、语音消息等。最近,这个库又新增了一项支持,即视频消息的交互。

安装

你可以通过 npm 包管理器来安装 react-native-gifted-chat-video-support。在终端中输入如下命令:

--- ------- -------------------------------------- ------

使用

安装完成后,我们需要先为视频消息添加一个视图,这可以通过自定义消息的方式来实现:

------ ----- ---- --------
------ - ----- ---- - ---- ---------------
------ - ------------ - ---- -----------------------------------------

----- ----------- - ------- -- -
  ------
    ------------- ---------- --
    -------------------------------------------------
  -------
--

------ ------- ------------

如上,CustomVideo 组件是自定义的视频消息组件,它通过 "message" 字段来获取当前消息对象,并在视频播放画面下添加了一行文字。

接下来,我们需要在 GiftedChat 组件中使用 CustomVideo 组件,以支持视频消息交互:

------ ----- ---- --------
------ - ---------- - ---- ---------------------------
------ ----------- ---- ----------------

----- -------- - -
  -
    ---- --
    ----- ------ -----------
    ---------- --- -------
    ----- -
      ---- --
      ----- ------ --------
      ------- -----------------------------------
    --
  --
  -
    ---- --
    ------ -
      -------- ---------------------------------------------
      ---- ---------------------------------------------
      ------- -----
      ------ -----
      --------- ---
      ----- ---
    --
    ---------- --- -------
    ----- -
      ---- --
      ----- ------ --------
      ------- -----------------------------------
    --
  --
--

----- ------- ------- --------------- -
  ----- - -
    --------- ---
  --

  -------------------- -
    ---------------
      ---------
    ---
  -

  --------------- - --- -
    --------------------------- -- --
      --------- ----------------------------------------- ----------
    ----
  -

  -------- -
    ------ -
      -----------
        ------------------------------
        ------------------------- -- ------------ ---------- ---
        ---------------- -- ----------------------
        -------
          ---- --
        --
      --
    --
  -
-

------ ------- --------

如上,我们首先将 messages 存入 state 中,然后在 GiftedChat 中,将 CustomVideo 作为 renderMessageVideo 的 props,即自定义视频消息的展示方式。

最后,在支持发送视频消息的 Event 中加入视频支持:

------ ----- ---- --------
------ - ---- - ---- ---------------------

----- ------------- - ----- -- -
  --------
    ----------
    ----------
      ------ ---------- -- -- -
        ------------
      --
      ------ -------- -- -- -
        ------------
      --
      ------- -- -- ---
    --
    -------- -- -
      ----- ----------------------- --------------------------
        ----- ------------------------ -----------------------------------
      -------
    --
    --------------------------------------
    ----------------------------------------
  --
--

----- --------- - ----- -- -- -
  --- ------ - ----- -------------------------------------
    ----------- ------------------------------------
    ------------------ ------------------------------------------
  ---
  -- ------------------- -
    --- ---- - -
      ------ -
        ---- -----------
        ----- ------------
        --------- ----------------
        ------ -------------
        ------- --------------
      --
    --
    ---------- --------
  -
--

接下来,毫无问题会显示发送的视频文件。

总结

以上就是关于 npm 包 react-native-gifted-chat-video-support 的使用方法和注意点。虽然使用这个库对 React Native 开发者来说不是非常基础,但是通过学习这个库的同时还能够了解到 React Native 增强 vue,熟练掌握这项技能可真正发挥它所带来的价值。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600668ead9381d61a3540c06


猜你喜欢

  • npm 包 @marrea/oop-ale-ivan 使用教程

    简介 @marrea/oop-ale-ivan 是一个面向对象编程(OOP)的库,它提供了一些简单易用的 OOP 工具,用于在 JavaScript 中实现更为复杂的 OOP 功能。

    3 年前
  • npm 包 eleventy-plugin-yamldata 使用教程

    eleventy-plugin-yamldata 是一个 npm 包,它是一个 eleventy 插件,可以轻松地获取 yml 格式的数据,使你能够更方便地在 eleventy 项目中使用数据。

    3 年前
  • npm 包 tru_extend 使用教程

    在前端开发中,我们通常会使用各种库和框架来辅助开发,npm 是社区最流行的软件包管理器之一。今天,我们要介绍的是一个非常实用的 npm 包—— tru_extend,它可以帮助我们更方便高效地编写 J...

    3 年前
  • npm 包 webcastle-core 使用教程

    简介 webcastle-core 是一个功能强大的 npm 包,专为前端开发者设计制作。它可以轻松缩短开发时间,提高生产力,并增强前端网站的性能和可靠性。webcastle-core 包括众多组件和...

    3 年前
  • npm 包 @poeticode/scroll-swipe 使用教程

    前言 在前端开发中,我们常常会涉及到一些需要处理触摸滑动的场景,比如自定义的轮播图组件、页面滚动等等。而在这些场景中,往往需要考虑到触摸移动的方向,从而实现相应的交互效果。

    3 年前
  • npm 包 abitari-angular2-signaturepad 使用教程

    前言 在现代应用程序的构建中,签名功能已经成为了必不可少的一部分。实现签名功能并不容易,但有了一些优秀的工具和库,可以大大简化签名的实现过程。在这篇文章中,我们将介绍 npm 包 abitari-an...

    3 年前
  • npm包cordova-plugin-libvlc使用教程

    Cordova是一种广泛使用的开源移动应用程序开发框架,它使用HTML、CSS和JavaScript构建跨平台的移动应用程序。cordova-plugin-libvlc为Cordova项目提供了一个兼...

    3 年前
  • npm 包 noflo-bigiot 使用教程

    前言 在前端开发中,我们经常需要处理各种数据流和复杂的业务逻辑。为了提升代码的可维护性和可读性,我们常常会使用流程图来描述程序的运行逻辑。而 noflo-bigiot 就是一个帮助我们实现流程图编程的...

    3 年前
  • npm包@ionic-cordova-plugins/wechat 使用教程

    随着移动互联网的不断发展,微信成为了广受欢迎的社交媒体,在很多前端项目中,需要使用微信登录、分享、支付等功能。@ionic-cordova-plugins/wechat 是一个提供了微信功能集成的np...

    3 年前
  • npm 包 donejs-electron 的使用教程

    什么是 donejs-electron? donejs-electron 是一个能够帮助开发者快速使用 Electron 构建跨平台桌面应用的 npm 包。 donejs-electron 基于几个开...

    3 年前
  • npm 包 justows.conn.log.redis 使用教程

    简介 justows.conn.log.redis 是一款 npm 包,用于在前端应用中记录日志并将其写入 Redis 数据库。本教程将会介绍如何使用此 npm 包。

    3 年前
  • npm 包 react-native-ab-test 使用教程

    前言 AB Testing 是一种常见的产品优化方法,它的基本思想是对一个或多个已知的变量进行不同的操作,从中观察指标的变化,来判定哪一个操作更为有效。在前端开发中,我们可以使用一些工具来实现 AB ...

    3 年前
  • npm 包 @juxinli/web-store 使用教程

    简介 @juxinli/web-store 是一个基于本地存储封装的前端数据持久化工具。它提供了简单易用的 API,让开发者可以方便地在浏览器客户端中存储数据,实现数据持久化。

    3 年前
  • npm 包 eslint-config-kiat 使用教程

    介绍 在前端开发中,代码的可维护性与可读性是非常重要的。eslint 是一款静态代码分析工具,可以帮助我们检查代码的语法以及风格,并且可以自定义规则,让我们的代码更加规范,易于维护与管理。

    3 年前
  • npm 包 mbuilder 使用教程

    随着前端技术的不断发展,现在越来越多的开发者开始注重代码的复用性和模块化。Npm作为世界上最大的软件包管理器,也成为前端开发的一个重要工具。本篇文章将介绍一款 npm 包 mbuilder 的使用教程...

    3 年前
  • npm 包web-push-notifications-lite使用教程

    在现代Web应用程序中,推送通知是与用户互动的重要方式之一,例如更新通知或重要提示。为了实现这种功能,Web开发人员必须使用像Push API这样的现代Web技术。

    3 年前
  • npm 包 @souct/countdown 使用教程

    简介 倒计时(countdown)在前端开发中应用非常广泛,例如秒杀、抢购、倒计时活动等等。@souct/countdown 是一款基于 JavaScript 打造的倒计时组件,可以快速实现倒计时功能...

    3 年前
  • npm 包 deeply-freeze 使用教程

    在前端开发中,经常会遇到需要对 JavaScript 对象进行深度冻结(Deep Freeze)的情况。JavaScript 对象的深度冻结可以保护对象的数据完整性,防止对象被修改。

    3 年前
  • npm 包 eslint-config-wslfx 使用教程

    在前端开发中,保持代码质量和可读性非常重要。其中一个实现方式是使用 ESLint 来检查和规范 JavaScript 代码。而使用一个公共的 ESLint 配置可以让团队在开发过程中保持一致性。

    3 年前
  • npm 包 find-newer-docker-image 使用教程

    前言 随着 Docker 技术的流行,越来越多的企业开始使用 Docker 部署他们的应用程序。但是,在使用 Docker 部署应用程序的过程中,我们经常需要查找新的 Docker 镜像,并且需要把镜...

    3 年前

相关推荐

    暂无文章