所以我的代碼是:更新狀態
export default class MyClass extends Component {
constructor(props) {
super(props);
this.state = {
data: [
{id: 101, name:"One", thevalue:11},
{id: 102, name:"Two", thevalue:22},
{id: 103, name:"three", thevalue:33}
]
}
}
handleOnPress() {
<< HOW DO I CODE THIS ?? >>
I want to increase the number count in thevalue of the pressed item
}
render() {
return(
<FlatList
data = {this.state.data}
renderItem = {
({item}) =>
<TouchableOpacity onPress={this.handleOnPress} >
<Text> {item.name} + {item.thevalue} </Text>
</TouchableOpacity>
}
/>
)
}
}
我希望能夠增加只有thevalue
單擊的項目的數量。所以我應該做一個setState
對不對?但是我怎麼知道我需要運行哪個項目呢?我是否需要將點擊項目的id
傳遞給函數?如果是的話,我該怎麼做?
非常感謝。
UPDATE1:
handleOnPress(id) {
this.setState({
thevalue: this.state.thevalue+1
});
}
你能提供'item'在'onPress'?例如:'{this.handleOnPress(item)}''或類似的? –
@JeffHuijsmans你不能這樣稱呼它,或者handleOnPress將在每個物品的渲染上被調用。你需要按照我的回答做些事情:) –
@MattDerrick很好,謝謝!我想在另一個框架的方式:) –