javascript - React onClick 函数参数变成 "Proxy"对象

标签 javascript reactjs

我在我的 react 层次结构的顶层有一个元素数组,我想用一个带有元素值(字符串)的参数来触发一个 onClick 函数。然而,当我尝试打印这个值时,打印了一个“Proxy”对象: p>

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

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

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

这里是 handleCollapse 函数:

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

我确保在构造函数中绑定(bind) this

  constructor(){
    super();

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

最佳答案

您将事件对象传递给您的 handleCollapse 方法,而不是选择。 他们这样读是你告诉 react ,当单击按钮时执行箭头函数将事件对象传递给它,这在术语中将使用相同的事件对象调用 handleCollapse 方法。 尝试这样做

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

代替

关于javascript - React onClick 函数参数变成 "Proxy"对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44035989/

相关文章:

javascript - Bootstrap 3 Navbar 切换 - 折叠但按钮不出现

php - 如何定位图片弹出窗口

javascript - 从两个下拉列表中获取值时出现问题

javascript - React 访问index.html 中的组件

javascript - React - 变量的值未正确更改

javascript - React Axios 输入未定义

javascript - Google Script - 从电子表格中列出的文件名导入文件数据

javascript - 下划线减少,关于备忘

reactjs - React Native - 找不到模块 X 或其相应的类型声明

javascript - 如何在鼠标按下时重复调用一个函数?