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