2017-10-12 28 views
1

私は画像のURIを小道具として渡そうとしていますので、反応ネイティブで何度も再利用できます。しかし、現在の解決策では、文字列リテラルを使用する必要があることがわかります。 ローカルネイティブ画像URIを反応ネイティブの小道具として渡す

const ImageButton = ({ source }) => (
    <Image source={require({ source })} /> 
); 

ImageButton.propTypes = { 
    uri: PropTypes.string, 
}; 

は私もPropTypes.funcとしてURIを宣言し、

<Image source={{ source }} /> 

をやってみましたが、画像は表示されません。画像uri propの正しい実装は何ですか?

答えて

1

動的に定義された文字列では不可能なので、画像を要求するために別のオブジェクトを実行する必要があります。例えば

const assets = { 
    imageButton: require('./assets/button.jpg'), 
}; 

const ImageButton = (source) => { 
    <Image source={assets[source]} /> 
} 

class MyComponent extends Component(props) { 
    render() { 
    return (
     <ImageButton source={'imageButton'} /> 
    ) 
    } 
} 
+0

だからそれを可能にするには、すべての権利、同じファイルにする必要がありますか?私はImageButtonをどこかからインポートしてそれを渡すようにしようとしていますが、ソースのないImageButtonをエクスポートすると画像がレンダリングされないので、可能ではないと思います。 –

関連する問題