将图像源传递给组件
Passing Image source to a Component
我有一个文件 main.js 调用了一个组件 Home,例如
<Home width = {width} }/>
我的主页组件有一个像
这样的图像
class Home extends Component{
render(){
return(
<View style = {{width: this.props.width/2,height:this.props.width/2 ,
borderWidth:0.5,borderColor:'#dddddd'}}>
<View style = {{flex : 1}}>
<Image
style = {{flex:1,width:null,height:null,resizeMode:'cover'}}
source = {require(this.props.source)} >
</Image>
</View>
<View style ={{flex:1 , alignItems:'flex-start',
justifyContent:'space-evenly', paddingLeft: 10}}>
<Text style = {{fontSize:14,color:'#b63838'}}> 5 bedroom </Text>
<Text style = {{fontSize:12 , fontWeight:'bold'}}>North York</Text>
<Text style = {{fontSize:12 , fontWeight:'bold'}}>00</Text>
</View>
</View>
);
}
}
export default Home;
图像存储在本地资产文件夹中,可以通过
require('../assets/Images/Houses/house6.jpeg');
我的组件必须使用不同的图像多次调用。
如何将图像路径传递给 Home 组件。
<Home width = {width} source = ??????/>
试试这个:
class ParentClass extends Component {
construct() {
this.state = {
images : [require('../path/to/image1.png'), require('../path/to/image2.png')]
};
}
render = () => {
// Iterate through this one...
return(<Home width={width} source={this.state.images[i]});
}
}
您不能将动态内容传递给 require() 函数。
在这里进一步阅读:react native use variable for image file
您已经在主页组件中访问了 this.props.source
。
如下所述,将您的图像导出到一个文件中,以便在任何组件中导入。
更新:
const images = {
houseImage: require(‘../assets/Images/Houses/house6.jpeg’)
};
export default images;
主页组件
import Images from ‘@assets/images’;
<Image style = {{flex:1,width:null,height:null,resizeMode:'cover'}} source={Images.houseImage} />
我有一个文件 main.js 调用了一个组件 Home,例如
<Home width = {width} }/>
我的主页组件有一个像
这样的图像class Home extends Component{
render(){
return(
<View style = {{width: this.props.width/2,height:this.props.width/2 ,
borderWidth:0.5,borderColor:'#dddddd'}}>
<View style = {{flex : 1}}>
<Image
style = {{flex:1,width:null,height:null,resizeMode:'cover'}}
source = {require(this.props.source)} >
</Image>
</View>
<View style ={{flex:1 , alignItems:'flex-start',
justifyContent:'space-evenly', paddingLeft: 10}}>
<Text style = {{fontSize:14,color:'#b63838'}}> 5 bedroom </Text>
<Text style = {{fontSize:12 , fontWeight:'bold'}}>North York</Text>
<Text style = {{fontSize:12 , fontWeight:'bold'}}>00</Text>
</View>
</View>
);
}
}
export default Home;
图像存储在本地资产文件夹中,可以通过
require('../assets/Images/Houses/house6.jpeg');
我的组件必须使用不同的图像多次调用。
如何将图像路径传递给 Home 组件。
<Home width = {width} source = ??????/>
试试这个:
class ParentClass extends Component {
construct() {
this.state = {
images : [require('../path/to/image1.png'), require('../path/to/image2.png')]
};
}
render = () => {
// Iterate through this one...
return(<Home width={width} source={this.state.images[i]});
}
}
您不能将动态内容传递给 require() 函数。 在这里进一步阅读:react native use variable for image file
您已经在主页组件中访问了 this.props.source
。
如下所述,将您的图像导出到一个文件中,以便在任何组件中导入。
更新:
const images = {
houseImage: require(‘../assets/Images/Houses/house6.jpeg’)
};
export default images;
主页组件
import Images from ‘@assets/images’;
<Image style = {{flex:1,width:null,height:null,resizeMode:'cover'}} source={Images.houseImage} />