美文网首页让前端飞
关于 REACT 的一些笔记

关于 REACT 的一些笔记

作者: LOWINC | 来源:发表于2017-09-06 17:08 被阅读0次

    项目地址


    part_1: eventListener

    window.addEventListener
    window.removeEventListener
    使得绑定和解绑的是同一个"处理函数(landMore)"

    错误写法 1:

        window.addEventListener('scroll',this.landMore,false)
        window.removeEventListener('scroll',this.landMore,false)
    

    问题:

        landMore 内部 this指向出错
    

    现象:

        this.state.XXX = undefined
    

    错误写法 2:

    window.addEventListener('scroll',this.landMore.bind(this),false)
    window.removeEventListener('scroll',this.landMore.bind(this),false)
    

    问题:

    解决了 landMore 内部 this 的指向问题 
    但是 使用 foo.bind() 会返回一个新函数 
        add => landMore.bind(this) 
        rm  => landMore.bind(this)
    导致 绑定的 landMore 和取绑的 landMore 是两个不同的函数
    

    现象:

        跳转页面后还是会执行 landMore 函数
    

    正确写法:

    constructor(){
        super()
        this.landMore = this.landMore.bind(this)
    }
    

    实现:

    1:指定this
    2:add/rm 同一个函数

    相关文章

      网友评论

        本文标题:关于 REACT 的一些笔记

        本文链接:https://www.haomeiwen.com/subject/afsvjxtx.html