【发布时间】:2020-10-23 18:41:48
【问题描述】:
我想在单击按钮时增加 Items 组件的值,该按钮由其子组件 Item 处理。项目有一个键值对数组,这个值需要递增和呈现 这是代码
//parent component
class Items extends React.Component{
state={
items:[{ id: 1, value: 9 },
{ id: 2, value: 10 },
{ id: 3, value: 0 }]
}
handleIncrement=()=>{
//need to increment items.value on each button click increment. How can I access it
}
render(){
return(
<div>
<h2>Increment item on the list From Parent</h2>
{this.state.items.map(item=>(<Item key={item.id}
value={item.value} id={item.id} onIncrement={this.handleIncrement}
/>))}
</div>
)
}
}
//child component
class Item extends React.Component{
getValue=()=>{
let {value}=this.props;
return value===0?'Zero':value
}
render(){
return(
<div>
<span>{this.getValue()}</span>
<button onClick={this.props.onIncrement}>Increment</button>
</div>
)
}
}
请帮帮我。
【问题讨论】:
-
你试过使用
setState吗? setState -
不,我对访问每个值的 id 有疑问。因为事件是由另一个组件处理的,所以我们需要传递 id 对吗?
标签: javascript arrays reactjs object