我正在尝试为我的React-Native项目创建一个图像滑块,但是我真的不知道为什么它会一直向我发送此错误:Reference Error:找不到变量:Props,当我有以下构造函数并渲染;
constructor(props){
super(props)
this.state = {
imagesSlider: [
require('../images/1.jpg'),
require('../images/2.jpg')
]
}
}
render() {
return (
<Swiper style={styles.slide} autoplay> {
this.state.imagesSlider.map(function(item,i){
<View key={i}>
<Image source={props.item}/>
</View>
})
}
</Swiper>
);
}
您应该使用'this'来参考您的道具和状态变量。因此,应该更改为:
<Image source={this.props.item}/>
您无法在此上下文中直接访问道具。因此,请使用 this.props 从道具中获取值,而不是直接使用道具。您需要更改解决方案的以下代码: -
render() {
return (
<Swiper style={styles.slide} autoplay> {
this.state.imagesSlider.map(function(item,i){
<View key={i}>
<Image source={this.props.item}/> ===> this needs to be changed to get the value of item from props.
</View>
})
}
</Swiper>
);
更新: -
根据评论,如果您使用的是从状态变量的地图中使用的项目而不是从道具中获取项目,则需要以下更改代码: -
render() {
return (
<Swiper style={styles.slide} autoplay> {
this.state.imagesSlider.map(function(item,i){
<View key={i}>
<Image source={item}/> ===> this needs to be changed to get the value of item from the map of state variable.
</View>
})
}
</Swiper>
);