繁体   English   中英

React.js-如何将数组传递给函数?

[英]Reactjs - How to pass an array to a function?

我有一个组件,该组件使用数组中的信息创建按钮,当用户单击按钮时,我要将信息从该数组中传递给函数,但是我得到的是[[Object Object]],我该如何传递数组并访问函数中的元素?

功能:

handleClick (e) {
        const { value } = e.currentTarget
        console.log(value)
    };

组件渲染:

render () {
        return (
            <div>
                {this.state.enrollments.map(item => (
                    <div key={item.id}>
                        <button value={item} onClick={this.handleClick}>
                            {item.enrollment}
                        </button>
                     </div>
                ))}
            </div>
        )
    }

传递给地图的数组:

0: {id: 1, evaluation_flag: false, enrollment: "2019.1", user_id: 2}
1: {id: 2, evaluation_flag: false, enrollment: "2019.2", user_id: 2}

在handleClick函数中,我要访问值,键入:value.id或value.user_id。

您可以根据需要创建一个箭头函数,您的代码将变为:

<button value={item} onClick={(e) => this.handleClick(e, item)}>
  {item.enrollment}
</button>

然后显然修改handleClick函数以接受第二个参数item

基本上, (e) => handleClick(e, item)所做的是就地创建以下函数:

function (e) {
  return handleClick(e, item);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM