在React中使用Swiper做触摸内容滑动

2023-11-04

在React中使用Swiper做触摸内容滑动

缘由

在实现一个触摸内容滑动的功能的时候,想reactJS该怎么处理呢,然后被提点用Swiper可以,一想确实可以。。。。用了网上的一些用在react里面的Swiper,但是并不怎么靠谱和好用。最后看博客,觉得说得很好,原生可以解决所有问题- 0 -,于是去官网看来一下文档,果然原生克一切。

实现以及心得

心得:官方文档一般是最详细也是最清楚的。
附上Swiper的API地址:https://www.swiper.com.cn/api/index.html
使用方法

  • 使用npm安装Swiper
npm install swiper
  • 导入进js文件
import Swiper from 'swiper/dist/js/swiper.js';
import 'swiper/dist/css/swiper.min.css';
  • 在componentDidMount创建一个Swiper(有一些注意事项和代码注释,写在代码下面了)
componentDidMount() {
    var that = this;
    that.getDate(that.state.pramcurrent);//
    new Swiper('.swiper-container', {
      observer: true,
      on: {
        reachEnd: function () {
          if(that.state.current<that.state.total-2){
            that.setState({pramcurrent:that.state.pramcurrent+1})//
            that.getDate(that.state.pramcurrent);//
            that.setState();//
          }
        },
        slideChangeTransitionEnd: function () {
          that.setState({ current: this.activeIndex + 1 });//
        },
      }
    });
  }

Tip:

1.Swiper中的参数,第一个是不用变的,第二个的话,需要什么功能就去API里面查,并且添加就好了,这个代码里面主要是用了一个监视器observer,改变Swiper状态的时候自动初始化swiper,方便分页请求,滑动到最后一页再加载两页。on里面是写事件的,这里用了两个,一个是检测到滑动到最后一页的事件reachEnd,用来做动态加载,一个是slideChangeTransitionEnd,切换结束后执行的事件,这个主要是用来做下面的页面显示。当前在多少页,因为是动态加载,所以官方提供的分页器不太好用。
2.一定要在开始的时候,var that=this;不然在事件中调用this.state.xxxx会报错。

  • render中的直接使用Swiper
render() {
    const bannerImg = this.state.totalSwiper;
    var bannerImgRender = (
      bannerImg.map((item, index) => (
        <div key={index} className="swiper-slide">
          <div className="sbjs2">
            <img src={item} className='sb2'></img>
            //中间可以写各种代码,都可以滑动。仅仅只能放图片。
          </div>
        </div>
      ))
    );
    return (
          <div className="swiper-container">
            <div className="swiper-wrapper">
              {bannerImgRender}
            </div>
          </div>
          <div className='fy'>{this.state.current} / {this.state.total} </div>
        </div>
    );
  }

tip:
1.这样子写,不仅仅就滑动图片,组件也可以滑动。直接用map遍历数据,就可以每次滑动的时候改变数据,数据写在state里面。然后可以动态读取接口的数据。

总结

大概框架就是这样的,下次要用的话直接复制过去就可以啦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在React中使用Swiper做触摸内容滑动 的相关文章

  • 函数式组件与类组件有何不同?

    与React类组件相比 React函数式组件究竟有何不同 在过去一段时间里 典型的回答是类组件提供了更多的特性 比如state 当有了Hooks后 答案就不再是这样了 或许你曾听过它们中的某一个在性能上的表现优于另一个 那是哪一个 很多此类
  • React 初识之Umi项目搭建实战

    一 创建项目 创建之前需要安装 Node js 和 npm yarn 这俩个环境 在WebStorm里面创建一个项目 输入命令 yarn create umi 弹出选项 这里我们选择第二项APP 选择是否使用typescript 这里选no
  • react项目中使用react-dnd实现列表的拖拽排序

    现在有一个新需求就是需要对一个列表 实现拖拽排序的功能 要实现的效果如下图 可以通过 react dnd 或者 react beautiful dnd 两种方式实现 今天先讲下使用react dnd是如何实现的 github地址 https
  • 对useReducer的理解

    useReducer是React提供的一个高级Hook 它不像useEffect useState useRef等必须hook一样 没有它我们也可以正常完成需求的开发 但useReducer可以使我们的代码具有更好的可读性 可维护性 可预测
  • 【React】路由(详解)

    目录 单页应用程序 SPA 路由 前端路由 后端路由 路由的基本使用 使用步骤 常用组件说明 BrowserRouter和HashRouter的区别 路由的执行过程 默认路由 精确匹配 Switch的使用 重定向路由 嵌套路由 向路由组件传
  • styled-components 的用法

    用于给标签或组件添加样式 给标签或组件添加样式 import styled from styled components styled button 给button标签添加样式 const Button styled button back
  • 配置使用Eslint的时候 版本错误 "eslint": "5.6.0" a different version of eslint was detected higher up in the tr

    1 如果你也遇到下面的问题 你可以 按照命令行提示的那样 下面这四步完成的一般就可以了 但是不排除你在运行的时候忘记下载某些依赖 1 删除 package lock json 不是package json 你可以选择 yarn lock 或
  • Ionic3开发教程 - 开发(2)

    Ionic3开发系列教程Ionic3开发教程 环境准备 1 Ionic3开发教程 开发 2 Ionic3开发教程 发布Android版本 3 Ionic3开发教程 发布IOS版本 4 Ionic3开发教程 更新 5 本文中介绍的Ionic3
  • React页面设计初体验

    1 定制路由 export default login path login name login component layouts BlankLayout routes path login component Login Index
  • React中使用if else 条件判断

    在react中用jsx渲染dom的时候经常会遇到if条件判断 然而在jsx中竟是不允许if条件判断的 以下有几种判断方式 可以根据自己的应用场景 挑选适合的 方案一 class HelloMessage extends React Comp
  • React解密:React Hooks函数之useCallback和useMemo

    之所以将useCallback和useMemo放到一起 从某种意义上说 他们都是性能优化的始作俑者 他们也有很多的共性 我们先来回顾一下class组件性能优化的点 调用 setState 就会触发组件的重新渲染 无论前后 state 是否相
  • React之state、hooks性能分析

    目录 一 state 1 为什么使用setState 2 setState异步更新 3 如何获取异步的结果 4 setState一定是异步吗 5 源码分析 6 数据的合并 7 多个state的合并 二 为什么需要Hook 三 Class组件
  • React核心概念:状态提升

    上一节 表单 下一节 组合vs继承 React核心概念 状态提升 引言 添加第二个输入框 编写转换函数 状态提升 经验总结 引言 很多情况下我们使用的多个组件需要对同一个数据做出对应的反应 在这里我们推荐把这个共享的状态提升到距离这些组件最
  • React实现关键字高亮

    先看效果 实现很简单通过以下这个函数 highLight text keyword gt return text split keyword flatMap str gt span keyword span str slice 1 展示某段
  • React、Vue2.x、Vue3.0的diff算法

    前言 本文章不讲解 vDom 实现 mount 挂载 以及 render 函数 只讨论三种 diff 算法 VNode 类型不考虑 component functional component Fragment Teleport 只考虑 E
  • hooks实践总结

    何为hooks 在React中hook是指不编写 class 的情况下使用 state 以及其他的 React 特性 而Vue3也推出了具有相同功能的组合式API 如果你用过Vue3就会知道在 setup 中你应该避免使用 this 因为h
  • quill编辑器使用

    官方git https github com quilljs quill 官方文档 https quilljs com 中文文档 https kang bing kui gitbook io quill 编辑器是个正经编辑器 就是文档太不正
  • reactJS 干货(reactjs 史上最详细的解析干货)

    一 State和 Props state是状态机 应该包括 那些可能被组件的事件处理器改变并触发用户界面更新的数据 譬如需要对用户输入 服务器请求或者时间变化等作出响应 不应该包括 计算所得数据 React组件 在render 里使用pro
  • 黑马React:基础拓展

    黑马React D10 基础拓展 Date December 18 2023 useReducer 基础使用 作用 让 React 管理多个 相对关联 的状态数据 补充 和useState的作用类似 用来管理相对复杂的状态数据 特点 use
  • 如何提高React组件的渲染效率的?在React中如何避免不必要的render?

    面试官 说说你是如何提高组件的渲染效率的 在React中如何避免不必要的render 一 是什么 react 基于虚拟 DOM 和高效 Diff 算法的完美配合 实现了对 DOM 最小粒度的更新 大多数情况下 React 对 DOM 的渲染

随机推荐

  • ConcurrentHashMap中有十个提升性能的细节,你都知道吗?

    历史文章推荐 HashMap面试 看这一篇就够了 七种方式教你在SpringBoot初始化时搞点事情 Java序列化的这三个坑千万要小心 Java中七个潜在的内存泄露风险 你知道几个 JDK 16新特性一览 啥 用了并行流还更慢了 Inno
  • layui上传文件php上传接口异常,layui.upload上传图片报错“请求上传接口出现异常”...

    layui upload上传图片报错 请求上传接口出现异常 且接口报404问题 在调试layui upload上传图片时候报错 请求上传接口出现异常 且接口返回是404 返回接口丢失了 复盘处理流程 花了一些事件 做了如下的一些问题筛选处理
  • 企业信息化快速开发平台 JeeSite

    JeeSite是基于多个优秀的开源项目 高度整合封装而成的高效 高性能 强安全性的 开源 Java EE快速开发平台 JeeSite本身是以Spring Framework为核心容器 Spring MVC为模型视图控制器 MyBatis为数
  • 特征选择过滤器 - mutual_info_regression(连续目标变量的互信息)

    文章目录 函数 参数说明 函数 sklearn feature selection mutual info regression X y discrete features auto n neighbors 3 copy True rand
  • AD17 PCB板框无法设置

    could not find board outline using primitives centerline due to the following error at least 2 connected tracks arcs or
  • Python实现定时执行脚本(1)

    前言 本文是该专栏的第11篇 后面会持续分享python的各种干货知识 值得关注 很多时候 我们需要对工作上的python脚本附加一个定时执行的功能 让脚本自动在某个时间段开始执行 当接到这样的需求时 你脑海中想到的会不会是Time模块 的
  • 关于GD32调试JLINK连接不上的问题

    最近有一个项目要用到GD32E230 然后经过了绘画原理图 PCB布线 焊接元件 再到最后一步的调试 发现用JLINK的SWD模式无论怎么也连不上 在和同事纠结了两天之后 发现了原来是PCB里面IC的封装画错了 以下把GD32和STM32官
  • 第九节:JS中的循环语句

    while语句 一般在循环体中来改变判断条件的值 如果不进行值得改变 循环条件一直满足 会造成死循环 语法 while 条件 要执行的代码块 例子 while i lt 10 text 数字是 i i do while 循环是 while
  • 功率MOSFET的正向导通等效电路

    转自 功率MOSFET的正向导通等效电路 电路设计论坛 电子技术论坛 广受欢迎的专业电子论坛 MOSFET 一 基础 Infinity lsc的博客 CSDN博客 MOSFET 二 米勒效应 Infinity lsc的博客 CSDN博客 米
  • 物联网之Linux网络编程三

    本篇主讲内容 1 广播和组播 2 UNIX域套接字 3 网络总结 广播 前面介绍的数据包发送方式只有一个接受方 称为单播 如果同时发给局域网中的所有主机 称为广播 只有用户数据报 使用UDP协议 套接字才能广播 广播地址 以192 168
  • 如何查看Oracle数据库的端口列表Portlist?

    如何查看Oracle数据库的端口列表Portlist 要在SQL PLUS工具中查看Oracle数据库的端口列表 可以执行以下步骤 在SQL PLUS中使用系统管理员帐户登录到Oracle数据库 运行以下命令 SELECT DISTINCT
  • 最大熵阈值分割算法原理及实现

    写在前面 前面介绍了OTSU算法 对于阈值分割法 不得不介绍另外一种较为突出的算法 最大熵阈值分割法 KSW熵算法 最大熵阈值分割法和OTSU算法类似 假设将图像分为背景和前景两个部分 熵代表信息量 图像信息量越大 熵就越大 最大熵算法就是
  • android FlatBuffers剖析

    概述 FlatBuffers是google最新针对游戏开发退出的高性能的跨平台序列化工具 目前已经支持C C Go Java JavaScript PHP and Python C和Ruby正在支持中 相对于json和Protocol Bu
  • Pytorch 分布式训练(DP/DDP)

    参考 需要看 0 实操教程 GPU多卡并行训练总结 以pytorch为例 1 PyTorch 源码解读之 DP DDP 模型并行和分布式训练解析 知乎 2 pytorch中分布式训练DP DDP原理 知乎 3 pytorch中多卡训练 yt
  • 共轭梯度法详细推导分析

    共轭梯度法是一种经典的优化算法 算法求解速度较快 虽然比梯度下降法复杂 但是比二阶方法简单 一 引入 1 优化模型建立 假定待优化的问题如下所示 min x f x 1 2 x T A x b T x min x f x frac 1 2
  • vs 查看 C++ #define 宏定义展开代码

    方法一 define 通常是代码的展开 如果是 复杂 的 define 如何直观的查看展开效果 在 vs 中 选中需要查看的 cpp 文件 右键属性 预处理器 预处理到文件 选择是 确定 右键 cpp 文件 编译 debug 目录中会有一个
  • 打印机驱动如何连接计算机,打印机与电脑第一次连接驱动怎么操作

    打印机作为我们办公的设备之一 在使用过程中需要与电脑完成连接 才能进行使用 很多小伙伴不知道打印机与电脑第一次连接驱动怎么操作 于是就在小编后台给小编留言 那么今天小编就来叫教教大家打印机与电脑第一次连接驱动的方法 下面就让我们一起来看看吧
  • Tomcat性能调优方案

    Tomcat性能调优方案 一 操作系统调优 对于操作系统优化来说 是尽可能的增大可使用的内存容量 提高CPU的频率 保证文件系统的读写速率等 经过压力测试验证 在并发连接很多的情况下 CPU的处理能力越强 系统运行速度越快 适用场景 任何项
  • Python3-excel文档操作(二):利用openpyxl库处理excel表格:在excel表格中插入图片

    1 简介 excel表中可以插入图片 使用openpyxl库可以实现这个功能 2 代码 coding utf 8 import os import sys import time import openpyxl from openpyxl
  • 在React中使用Swiper做触摸内容滑动

    在React中使用Swiper做触摸内容滑动 缘由 在实现一个触摸内容滑动的功能的时候 想reactJS该怎么处理呢 然后被提点用Swiper可以 一想确实可以 用了网上的一些用在react里面的Swiper 但是并不怎么靠谱和好用 最后看