簡體   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