当better-scroll遇见了react擦出的火花

  关于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展示到页面上去,若能解答不胜感激~~~~
 
 
原文地址:https://www.cnblogs.com/cq1715584439/p/11019172.html