问答详情
源自:2-8 订单评价功能(3)

事件bind问题

onClick={this.handleClickStars.bind(this, item)},什么时候在使用箭头函数后还需要执行bind

提问者:尛溎孓 2019-05-10 09:32

个回答

  • hurrak
    2019-05-11 15:03:50

    当箭头函数有参数的时候。


    如果直接传参将会是函数调用语法,引发报错。像这样 onClick={this.handleClickStarts(item)} 其实是调用了函数。

    对于传参有两种处理方法。

    第一种:自定义嵌套函数

    handleClickStars = (item) => {

        return (item) => {

                // 原来的处理逻辑

        }

    }

    第二种:在设置事件处理函数使用bind 方法,其实内部也是封装了返回了一个函数。

    onClick={this.handleClickStarts.bind(this, item))}