关于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. 使用nodejs安装http-server

    一.下载nodejs(https://nodejs.org/) 二.在环境变量中配置nodejs路径: path: D:\Program\nodejs\ 三.打开终端: 使用node -v测试node ...

  2. 正确而又严谨得ajax原生创建方式

    自己去封装一个xhr对象是一件比较麻烦的事情.其实也不麻烦,注意逻辑和一个ie6兼容方案(可无),和一个304 其他2开头的status都可以就好了 <!DOCTYPE html> < ...

  3. java 7,8 排序异常

    排序报 java.lang.IllegalArgumentException: Comparison method violates its general contract! 要明确返回-1, 0, ...

  4. 学习JDK1.8集合源码之--TreeMap

    1. TreeMap简介 TreeMap继承自AbstractMap,实现了NavigableMap.Cloneable.java.io.Serializable接口.所以TreeMap也是一个key ...

  5. session失效刷新后登录页面嵌入在iframe中的解决办法

    在login页面中添加以下一段代码:   var _topWin = window;  while (_topWin != _topWin.parent.window) {       _topWin ...

  6. Oracle启动和禁用约束及删除违反约束的记录

    一.禁用约束 alter table table_name disable novalidate constraint constraint_name 二.批量导入数据 三.在开启约束之前一定要检查违 ...

  7. apache添加虚拟主机(windows下)

    1.打开Apache的目录下的  D:\Web\Apache\conf\httpd.conf 允许虚拟,启动虚拟配置文件 2.配置虚拟主机 打开 D:\Web\Apache\conf\extra\ht ...

  8. css 垂直+水平居中

    垂直+水平居中是一个老生常谈的问题了,现在就固定高度和不固定高度两种情况去讨论 1.父盒子固定高度[定位] 实现1: father-box: position:relative child-box:p ...

  9. Ubuntu查找通过apt命令已安装软件

    方法一 apt list --installed 方法二 dpkg -l

  10. python mooc 3维可视化<第一周第一单元>

    基本含义 数据->图像 分类 重点关注空间数据的可视化 方法 二维标量数据场 三维标量数据场 二位标量数据场 颜色映射法 等值线法 立体图法 层次分割法 三维标量数据场 面绘制法 体绘制法 展示 ...