2017-07-21 130 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')} 
/>