0

例如我要监听滚动条,然后当滚动到一定位置时,console.log输出一些内容,看到有种写法是这样的:

scrollHandler = this.handleScroll.bind(this);

componentDidMount(){
  window.addEventListener('scroll', this.scrollHandler)
}

_handleScroll(scrollTop){
  if(scrollTop > 100){
    console.log(123);
  }
}

handleScroll(event){
    let scrollTop = event.srcElement.body.scrollTop;  
    let screenHeight = window.screen.height;  
    this._handleScroll(scrollTop);
}

componentWillUnmount() {
        window.removeEventListener('scroll', this.scrollHandler);
    }
    

1.直接把_handleScroll里面的操作放到handleScroll里也可以啊,为什么还要这样额外弄个方法出来,我只知道_能表示定义一些临时变量,那放在这里又是什么意思呢?

2.什么时候才需要用到 _ 这个?好处是什么?这样不会稍微增加了代码量吗?

查看全部 12 个回答

0

解耦,可以提高代码的可重用性,至于前面的_,一般是看个人习惯吧。其实说白了,他就是个变量。

推荐答案

3

已采纳

1、放在里面都是可以的。不是唯一。
2、下划线开头表示内部方法。表示这个方法只供内部使用。约定俗成。