2017-07-21 93 views
0

我试图在React Native中构建一个背景图像组件,它只能用于本地图像(因此使用的是iOS的URI),但是图片显示不出来React Native:背景图片未显示

import React from 'react'; 
import {Image} from 'react-native'; 

const BackgroundImage = (props) => { 
    return (
     <Image source={{uri: props.img }} style={styles.backgroundImage}> 
      {props.children} 
     </Image> 
    ) 
}; 
const styles = { 
    backgroundImage: { 
     flex: 1, 
     width: null, 
     height: null, 
     resizeMode: 'cover' 
    } 
}; 

export {BackgroundImage}; 

用法:

const App =() => (
    <BackgroundImage img='./assets/img/gradient.jpg'> 
     <View style={{flex: 1}}> 
      /* More things */ 
     </View> 
    </BackgroundImage> 
); 

回答

0

应该requireuri。正如你已经使用过prop,它需要首先存储在var中,然后你可以将它传递给Image,因为如果直接将prop传递给它,require将不起作用。

实施例:

let imagePath = require("../../assets/list.png"); 
<Image style={{height: 50, width: 50}} source={imagePath} /> 

<Image style={[this.props.imageStyle]} 
    source={this.props.imagePath 
    ? this.props.imagePath 
    : require('../theme/images/resource.png')} 
/>