2017-10-12 9 views
1

Ich versuche, die URI eines Bildes als Prop zu übergeben, so dass ich es mehrmals auf reaktiv-native verwenden kann. Diese aktuelle Lösung veranlasst mich jedoch, dass require Zeichenfolgenliterale verwenden sollte.Übergeben von lokalen Bild-URI als Requisiten in react-native

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

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

Ich habe auch versucht uri als PropTypes.func erklärt und

<Image source={{ source }} /> 

tun, aber das Bild wird nicht angezeigt. Was ist die korrekte Umsetzung einer Image-Uri-Prop?

Antwort

1

Sie müssen ein separates Objekt für die Anforderung von Bildern erstellen, da dies mit dynamisch definierten Strings nicht möglich ist.

Zum Beispiel:

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

So für das möglich sein, haben alle in der gleichen Datei sein, nicht wahr? Ich versuche, ImageButton von irgendwo zu importieren und es einfach weiterzugeben, aber ich glaube nicht, dass es möglich ist, da das Exportieren von ImageButton ohne Quelle nur dazu führt, dass kein Bild gerendert wird. –

Verwandte Themen