【发布时间】:2020-04-05 09:49:49
【问题描述】:
我有一个包含两个数组的父组件
newChoiceArray: [
{ id: 1, text: '1', questionId: 'favourite number?', value: '1' },
{ id: 2, text: '2', questionId: 'favourite number?', value: '2' },
{ id: 3, text: '3', questionId: 'favourite number?', value: '3' },
],
ChoiceArray: [
{ id: 4, text: 'red', questionId: 'favourite colour?', value: '1' },
{ id: 5, text: 'blue', questionId: 'favourite colour?', value: '4' },
],
}
我有一个组件,它为数组中的每个对象呈现一个按钮
const MultiChoiceQuestions = props => {
const { multiChoiceArray, handleClick } = props
return (
<div>
{multiChoiceArray.map(questionChoice => {
return (
<button type="button" key={questionChoice.id} onClick={handleClick}>
{questionChoice.text}
</button>
)
})}
</div>
)
}
当我渲染我的子组件时,我可以传递一个数组作为道具
<MultiChoiceQuestions handleClick={this.testClick} multiChoiceArray={newChoiceArray} />
<MultiChoiceQuestions handleClick={this.testClick} multiChoiceArray={ChoiceArray} />
当我单击按钮时,我想查看该数组中的哪个对象被选中。
testClick = event => {
event.preventDefault()
console.log(event.currentTarget)
}
而不是输出这个<button type="button">3</button>
它应该输出这个{ id: 3, text: '3', questionId: 'favourite number?', value: '3' },
【问题讨论】:
标签: javascript reactjs oop ecmascript-6 jsx