关于better-scroll这个插件前面已经介绍过两次了 从原生js使用到结合服务端发送数据使用都有过介绍

  今天给大家分享一下这款插件在react中遇见的坑  总之我真是对这款插件又爱又恨 每次各种bug十足后还不去抛弃他

继续去研究他 真是恨之切,爱之深,典型的受虐狂啊  哈哈  好了废话不多说接下来给大家展示在react遇见的小问题

  首先我想实现的是一个下拉刷新的小功能,那么我们就得需要数据 在最初始的react中实现我在state中定义了一个空数组

然后在componentDidMount这个生命周期第一次发送ajax请求用来给我的初始值渲染数据,然后请求过来十条数据后发送给了

列表组件渲染上了整个页面,接着我在这个ajax的then方法里面初始化了一个BScroll的实例化用

pullDownRefresh: {
//下拉到一百的位置才会触发
threshold: 100,
//然后松手后返回50的位置
stop: 30,
}
设置了一波初始化条件
  
  接着我就不知怎么脑抽的去了componentDidUpdate这个生命周期中去监听了pullingDown 这个事件 终于造成了一个十分尴尬的问题
就是我第二次下拉刷新的时候ajax请求一股脑的给我触发了多次,将所有的数据全部返回了回来,这与我每次下拉触发一次刷新一遍的
初衷大大不同,
 
  经过各种挣扎后终于和实例化和pullingDown这个事件的监听一起提出来然后放在了componentDidUpdate这个生命周期中就解决了
此时不知道大家有没有疑问   这个函数是挂载阶段的生命周期   按我们所学的知识来说挂载阶段只会执行一次呀 但是为什么这个函数里面
的事件还会执行呢 ,此时用的知识点就是发布订阅了,关于发布订阅请看以后分享~~~
 
 
  不过在这个题中还运到了另一个问题就是  如果我给元素设置一个自定义属性然后通过伪类选择器的attr将这个伪类选择器展示到页面
上去没有成功   不知道哪位大佬能帮忙解决在react中怎么设置自定义属性然后通过attr展示到页面上去,若能解答不胜感激~~~~
 
 

当better-scroll遇见了react擦出的火花的更多相关文章

  1. React直出实现与原理

    前一篇文章我们介绍了虚拟DOM的实现与原理,这篇文章我们来讲讲React的直出. 比起MVVM,React比较容易实现直出,那么React的直出是如何实现,有什么值得我们学习的呢? 为什么MVVM不能 ...

  2. 当Spring Cloud Alibaba Sentinel碰上Spring Cloud Sleuth会擦出怎样的火花

    前言 今年主要会做一个比较完整的微服务项目开源出来.目前已经开始了,刚兴趣的先Star一个吧. 项目:https://github.com/yinjihuan/kitty-cloud 基础框架:htt ...

  3. immutability因React官方出镜之使用总结分享!

    作者:首席填坑官∙苏南 公众号:honeyBadger8,群:912594095,本文原创,著作权归作者所有,转载请注明原链接及出处. 引言 之前项目中遇到数据拷贝.引用之间数据层级嵌套过深,拷贝的值 ...

  4. 小程序与WebRTC联姻能擦出怎样的火花?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯视频云终端团队发表于云+社区专栏 腾讯视频云终端技术总监,rexchang(常青), 2008 年毕业加入腾讯,一直从事客户端研发 ...

  5. [置顶] Android 关于BottomDialogSheet 与Layout擦出爱的火花?

    今天上班做那个类似于ios拍照的那种效果图 就是个垂直布局然后里面textview+分割线+textview+button 当然也可以用button+分割线+button 方法有很多,选择适合自己的就 ...

  6. Android 关于BottomDialogSheet 与Layout擦出爱的火花?

    今天上班做那个相似于ios拍照的那种效果图 就是个垂直布局然后里面textview+切割线+textview+button 当然也能够用button+切割线+button 方法有非常多,选择适合自己的 ...

  7. C# WPF 擦出效果,刮图效果

    找了很久 <Window x:Class="TestWebbowser.TestMaskWind" xmlns="http://schemas.microsoft. ...

  8. 当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花

    开心一刻 晚上,女儿眼噙泪水躺在床上 女儿:你口口声声说爱我,说陪我,却天天想着骗我零花钱,你是我亲爹吗? 我:你想知道真相 女儿:想! 我:那你先给爸爸两百块钱! 环境准备 MySQL 不同版本 利 ...

  9. div的contenteditable和placeholder蹦出的火花

    今天在做手机端发布描述内容时,需要实现换行,还需要有plachholder. 在文本框中换行自然想到了textarea. 问题似乎已经解决了,但是当内容发布后,在html中显示换行都丢失了. 这个时候 ...

随机推荐

  1. Python子进程 (subprocess包)

    Python子进程 (subprocess包) subprocess以及常用的封装函数 当我们运行python的时候,我们都是在创建并运行一个进程.正如我们在Linux进程基础中介绍的那样,一个进程可 ...

  2. Tomcat服务启动,项目链接没反应

    该原因是因为tomcat的服务已启动,未停止又重新启动项目造成:只要停止服务,再次重新启动即可

  3. “微信小程序” js部分注解

    1.小程序不提供获取dom的操作,而是让我们直接将事件绑定写入到组件内.区别在于bind不阻止冒泡,而catch阻止冒泡. <view id="tapTest" bindta ...

  4. 易语言连接RCON详细教程实例(演示连接Unturned服务器RCON)

    一.准备工作 工 具: 1.易语言 2.RCON服务端(这里我使用unturned服务器的RCON作为演示) 二.启动Unturned服务器并配置RCON 打开unturned服务器路径:F:\Unt ...

  5. JAVA短信验证码 工具类

    MsgCodeUtil.java package com.hg.util; import com.soyea.enums.ResultEnum; import com.soyea.exception. ...

  6. Angungular.js 的过滤器&工具方法

    字母大小写 数字 货币 截取字符串 截取数组 用JS操作 ----------------------------------------------------------------------- ...

  7. day37 06-Hibernate二级缓存:更新时间戳区

    二级缓存区:类缓存区,集合缓存区,更新时间戳区. 它会记录一个时间T1.其实在我们查询之后它会记录一个时间.假设时间叫做T1.就是你查询完之后的当前时间是T1.当我们自己手动在下面做了一个更新之后,它 ...

  8. Zookeeper安装过程

    zookeeper的安装我反反复复安装了三次,前两次在root用户下安装都失败了,都启动不起来,第三次我改成普通用户安装,没想到成功了,很不可思议,步骤完全一样,接下来介绍一下具体的安装步骤: 1. ...

  9. POJ1635Subway tree systems

    Subway tree systems Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8049   Accepted: 33 ...

  10. Leetcode572.Subtree of Another Tree另一个树的子树

    给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树.s 的一个子树包括 s 的一个节点和这个节点的所有子孙.s 也可以看做它自身的一棵子树. 示例 1: 给定的树 ...