获取
未定义不是对象(正在评估'_this3.props.navigation')
点击TouchableOpacity时出错。
render() {
List = this.state.availableList.map(function(demo){
return(
<View key={(exam, index) => index.toString()} >
<TouchableOpacity
onPress={() => this.props.navigation.navigate('BCD')} >
<View>
<Text>{demo.Name}</Text>
<Text>{demo.Address}</Text>
</View>
</TouchableOpacity>
</View>
);
});
return (
<View>
{List}
</View>
);
}
在map(function())this.props.navigation没有得到,所以我的问题是如何传递道具?
答案 0 :(得分:2)
您应该在地图上使用箭头功能
this.state.availableList.map( (demo) => {
应用于您的渲染
const { availableList } = this.state
return (
<View>
availableList.map( (demo) => {
return(
<View key={(exam, index) => index.toString()} >
<TouchableOpacity onPress={() => this.props.navigation.navigate('BCD')} >
<View>
<Text>{demo.Name}</Text>
<Text>{demo.Address}</Text>
</View>
</TouchableOpacity>
</View>
);
})}
</View>
);
}
答案 1 :(得分:1)
我认为最好在map
中使用箭头功能,如下所示。
render() {
List = this.state.availableList.map(demo =>{
return(
<View key={(exam, index) => index.toString()} >
<TouchableOpacity
onPress={() => this.props.navigation.navigate('BCD')} >
<View>
<Text>{demo.Name}</Text>
<Text>{demo.Address}</Text>
</View>
</TouchableOpacity>
</View>
);
});
return (
<View>
{List}
</View>
);
}