npm包 react-native-swipeable-row-bouncing 使用教程

react-native-swipeable-row-bouncing是一个基于React Native的滑动行组件,可实现左右滑动来进行删除、标记和操作等功能。本教程将详细介绍该npm包的使用方法。

安装

在项目根目录下使用npm安装react-native-swipeable-row-bouncing依赖包:

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

安装完毕后,我们可以从包中导入SwipeableRowBouncing组件:

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

基础用法

react-native-swipeable-row-bouncing是一个可高度自定义的组件,但我们先从最基础的用法开始。

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

渲染后,我们就可以左右滑动此行看到效果了。

自定义样式和交互

接下来我们将自定义样式并为组件添加交互响应。首先,我们将从上一步的渲染开始,并加入删除按钮。

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

在这个例子中,我们将swipeThreshold设置为50px,并将overshootFriction设置为8。这两个属性控制了滑动时的交互响应范围和弹性度。我们还设置了一个包含“删除”标记的红色色块作为滑动时出现的背景,并使其居中显示。

接下来,我们要实现滑动结束时出现按钮的动画效果。更具体地说,我们要跟踪当前滑动的位置,当它超过了-swipeThreshold时,才显示删除按钮。使用Animated库可以在组件中实现这种交互响应效果。

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

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

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

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

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

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

在处理滑动时,我们使用一个handlePanResponderMove()方法来检查当前位置,如果当前位置位于-swipeThreshold左边,则显示删除按钮。在滑动结束时,我们先隐藏按钮,然后根据终止位置dx调用传递给组件的回调函数。最后,我们使用Animated库的timing()方法返回panX动画变量的起始值0,达到平滑滑动的效果。

完成后,嵌套一个SwipeableRowWithAnimatedButton组件,渲染即可。如下所示:

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

总结

在本教程中,我们介绍了如何使用npm包react-native-swipeable-row-bouncing实现左右滑动删除和标记的功能。我们从基础用法开始,然后自定义了样式和交互响应,并添加了一个包含“删除”标记的动画按钮。希望这篇文章对学前端的读者们有所帮助。

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


猜你喜欢

  • npm 包 lodash-redux-immutability 使用教程

    在前端开发中,使用 Redux 可以良好地管理应用程序的状态,并通过 Redux 提供的中间件实现一些想要的功能。然而,当我们需要修改应用程序状态时,有时会遇到一些困难,特别是当我们需要对复杂的嵌套对...

    3 年前
  • npm 包 ttk-edf-app-list-department-personnel 使用教程

    本文将介绍如何使用 npm 包 ttk-edf-app-list-department-personnel 打造一个前端部门人员列表的应用。这个应用可以方便地展示公司的部门组织结构和人员信息,对于公司...

    3 年前
  • npm 包 @jamesism/react-native-gifted-chat 使用教程

    在 React Native 应用开发中,使用聊天功能是非常常见的需求。而 @jamesism/react-native-gifted-chat 就是一款提供了聊天界面组件的 npm 包,可以帮助我们...

    3 年前
  • NPM 包 ssman 使用教程

    前言 SSMAN 是一个基于 Node.js 开发的 HTTP 请求模拟器,同时也是一款方便调试前端应用的工具。本文将为您详细介绍如何使用该工具。 安装 首先,需要在命令行中使用 npm 安装 ssm...

    3 年前
  • npm 包 typr-ts 使用教程

    前言 在前端开发中,我们常常会遇到需要进行类型转换的情况。比如数据传输、数据格式的校验、类型的判断和转换等。为了方便和高效地进行类型转换,我们可以使用 npm 包 typr-ts。

    3 年前
  • npm 包 jhashcode 使用教程

    在前端开发中,使用 JavaScript 常常需要对一些字符串进行哈希操作,来生成唯一标识符或者进行数据校验等任务。而 jhashcode 就是一个能够帮助我们完成哈希操作的 npm 包。

    3 年前
  • npm 包 mingo-stream 使用教程

    如果你是一位前端开发者,那么你就一定会用到各种各样的 npm 包来协助你完成项目,其中,mingo-stream 就是一个非常实用的包。它可以让你更加高效地操作数组,并且让你的代码更加简洁易读。

    3 年前
  • npm 包 netsuite-sync-watcher 使用教程

    介绍 netsuite-sync-watcher 是一个可以用于监听 NetSuite 中记录变化的 npm 包。如果你正在使用 NetSuite,那么这个包可以帮助你捕捉到记录的变化,并在本地或者第...

    3 年前
  • npm 包 observable-cache 使用教程

    简介 随着前端应用的复杂度增加,数据的状态管理已经成为了开发者不可避免的问题。为了解决这个问题,现在已经有了很多优秀的状态管理库,例如 Redux 和 Mobx 等等。

    3 年前
  • npm 包 sample-demo-migration 使用教程

    在前端开发过程中,我们难免会遇到迁移项目的情况。这时候,一个好的迁移工具可以极大地帮助我们提高开发效率。本文将介绍一个 npm 包 sample-demo-migration,它可以帮助我们简单高效地...

    3 年前
  • npm 包 bob-react-slick 使用教程

    简介 bob-react-slick 是一款基于 React 的轮播组件库,提供了多种灵活的配置选项和效果展示,适用于各种前端项目中的轮播需求。 安装 通过 npm 安装 bob-react-slic...

    3 年前
  • npm 包 crypto-subreddits-cli 使用教程

    简介 crypto-subreddits-cli 是一款基于 npm 的命令行工具,能够帮助用户迅速访问纯属于加密货币行业的 Subreddits。 Subreddits 指的是 Reddit 上各种...

    3 年前
  • npm 包 gulp-video64 使用教程

    在前端开发中,我们经常需要对视频进行操作,比如压缩、转码、裁剪或者添加水印等等。而这些操作往往需要借助一些工具来完成。其中,gulp-video64 是一个很好用的 npm 包,它可以将视频转换成 b...

    3 年前
  • npm 包 promised-sns 使用教程

    简介 Promised-sns 是一个用于 Amazon Simple Notification Service (SNS) 的 Node.js 库,它提供了一些简单而有用的方法来方便地操作 SNS。

    3 年前
  • npm 包 schema2hapi 使用教程

    当你需要将一个 JSON Schema 转换成一个 Hapi.js 路由时,npm 包 schema2hapi 就能派上用场。该包将 JSON Schema 转换成一个 Hapi.js 路由插件并输出...

    3 年前
  • npm 包 @larpa/say-hi 使用教程

    什么是 npm 包? npm 是全球最大的软件包管理系统,包含了数百万个包,其中许多是由前端开发者开发的。这些包可以轻松的通过 npm 安装到我们的项目中,这样可以大大提高我们的开发效率。

    3 年前
  • npm 包 egg-frequency-limit 使用教程

    在现代 Web 应用中,频率限制是保持服务器安全的一个重要组件。频率限制能够帮助防止攻击者通过暴力攻击破解出用户的密码,并防止恶意软件在服务器上做出不当的操作。在 Egg.js 中,我们可以使用 np...

    3 年前
  • npm 包 egg-http 使用教程

    简介 egg-http 是一个基于 Egg.js 的 HTTP 客户端库,它可用于创建 HTTP 请求,也可用于对 HTTP 响应进行处理。在本文中,我们将说明如何使用 egg-http。

    3 年前
  • npm 包 adagios 使用教程

    简介 adagios 是一个基于 jquery 的库,它可以帮助我们创建漂亮的滚动广告和横幅等等。本文将详细介绍如何使用该 npm 包。 安装 在使用 adagios 前,我们需要先安装它。

    3 年前
  • npm包aurelia-value-converters使用教程

    前言 aurelia-value-converters 是一个非常实用的npm包,可以用于对视图模型的数据进行转换,为我们开发过程带来很大的方便。在这篇文章中,我将为大家详细的介绍如何使用aureli...

    3 年前

相关推荐

    暂无文章