1
我創建了這個簡單的'Base'組件,它可以動態創建多個'Box'組件(通過renderBoxes()方法)。當按下其中一個框組件時,我想知道所有動態創建的Box組件中的哪一個被按下。有沒有辦法呢?我們要使用'鑰匙'嗎?React Native - 如何獲得陣列映射組件的密鑰
import data from './dataFile.json';
class Base extends Component {
state = {calendarData: []};
componentWillMount() {
//storing json data in the state
this.setState({ calendarData: data });
}
onBoxPress() {
// HOW TO ACCESS WHICH BOX COMPONENT WAS PRESSED?
}
renderBoxes() {
return this.state.calenderData.map(ride => {
<Box
key={ride.id}
onPress={this.onBoxPress}>
</Box>
});
}
render() {
return(
<View>
{ this.renderBoxes() }
</View>
);
}
}
請提供一個簡短的理由。謝謝。
有效。我明白了你的觀點。 謝謝。 – prasang7
太棒了!不要忘記將問題標記爲已回答,所以其他尋求未解答的問題需要幫助的人可以看到這個問題已經解決。 – jevakallio
啊,'this.setState'問題是由於'this'變量未被正確綁定。編輯答案包括本說明。 – jevakallio