1 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
當(dāng)您將參數(shù)用大括號(hào)括起來時(shí){division},例如,您正在傳入一個(gè)對(duì)象。ie: { upper: "upper" }和{ lower: "lower" }
這被認(rèn)為是在函數(shù)聲明中創(chuàng)建對(duì)象的速記方法。
只需移除花括號(hào),單個(gè)division參數(shù)就會(huì)按預(yù)期傳遞給每個(gè)按鈕。
return(
<div>
{this.state.majorDivisions.map((division) => {
return <button onClick = {this.renderDivisionRequirements.bind(null, division)}>{division}</button>
})}
</div>)
此外,為了讓事情更簡(jiǎn)潔,我建議您將其renderDivisionRequirements()轉(zhuǎn)換為箭頭函數(shù),這樣您就不必綁定this. 或者使用匿名函數(shù)在單擊按鈕時(shí)調(diào)用它。
renderDivisionRequirements = () => {
...renderDivisionRequirements logic
}
所以你的返回邏輯可以是
return(
<div>
{this.state.majorDivisions.map((division) => {
return <button onClick = {() => this.renderDivisionRequirements(division)}>{division}</button>
})}
</div>)
添加回答
舉報(bào)