React onClick函数参数变为“Proxy”对象

时间:2017-05-17 22:53:52

标签: javascript reactjs

我在我的反应层次结构的顶层有一个元素数组,我想用一个带有元素值(一个字符串)的参数来设置onClick函数。但是,当我尝试打印此值时,将打印“代理”对象:Proxy {dispatchConfig: null, _targetInst: null, isDefaultPrevented: null, isPropagationStopped: null, _dispatchListeners: null…}

这是我的渲染函数中的代码:

return collapseChoices.map((choice) => {
        console.log(choice)

        return (
          <div className="collapseChoice"
             onClick={(choice) => this.handleCollapse(choice)}>
             {choice}
          </div>
        );

这是handleCollapse函数:

handleCollapse(mark){
    console.log(mark);
  }

我确保在构造函数

中绑定this
  constructor(){
    super();

    this.handleCollapse = this.handleCollapse.bind(this);
  }

1 个答案:

答案 0 :(得分:8)

您将事件对象传递给handleCollapse方法,而不是选择。 他们读取的方式就是你所说的,当点击按钮时,执行箭头函数将事件对象传递给它,术语将使用相同的事件对象调用handleCollapse方法。 试着这样做

onClick={this.handleCollapse.bind(this, choice)}

代替