J'utilise React-Native v0.60.4, fonctionnant sur un simulateur Android, génère une image en utilisant react-native-signature-capture
, l'image peut être ouverte manuellement et s'afficher correctement. Je souhaite afficher cette image en utilisant Image
, mais elle n'affiche rien.
J'ai vérifié mais il n'y a pas de message d'erreur / d'avertissement.
<Image style={{width: 200, height: 200}} source={{uri: '/storage/emulated/0/saved_signature/signature.png'}} />
Cela devrait être une utilisation très basique de Image
mais pourquoi rien ne s'affiche?
4 Réponses :
Utilisez le Exemple imagepicker
pour amener l ' image
dans le chemin, utilisez le module image
et regardez l' image code>.
import ImagePicker from 'react-native-image-picker';
...
ImagePicker.showImagePicker(options, response => {
let source = response;
this.setState({
filePath: source,
});
...
<Image
source={{ uri: this.state.filePath.uri}}
style={{width: 100, height: 100}} />
si vous voulez afficher une image locale, vous devez utiliser la propriété require au lieu de l'URI comme ceci: -
image du stockage local: -
<Image style={{width: 200, height: 200}} source={{uri: 'https://facebook.github.io/react/logo-og.png'}} />
Pour image dynamique ou image de l'URI: -
<Image style={{width: 200, height: 200}} source={require('/storage/emulated/0/saved_signature/signature.png')} />
Pour afficher une image, vous devez l'exiger avant
import myImage from './path_to_image.png' <Image source={myImage} style={{ width: 200, height: 200 }} />
Pour plus d'informations, vous avez cette documentation
Vous devez passer un accessoire require ()
à source
comme ceci:
{title: "Signature One", imageSource: 3} {title: "Signature Two", imageSource: 4} {title: "Signature Three", imageSource: 5}
Assurez-vous que votre chemin est correct car bien en ce que ce n'est pas ../storage
ou ../../storage
.
Et tout cela serait dans votre composant enfant par exemple , en gardant à l'esprit que vous n'avez pas spécifié sur quel composant vous vous trouvez. Une fois que vous vous êtes assuré que l'image est rendue, vous voulez aller à votre composant parent et lui transmettre l'accessoire du nom que vous choisissez, par exemple imageSource
.
Ensuite, vous passez cela exigent à nouveau et le chemin relatif:
const ImageScreen = () => { return ( <View> <ImageDetail title='Signature One' imageSource={require("/storage/emulated/0/saved_signature/signature1.png")} /> <ImageDetail title='Signature Two' imageSource={require("/storage/emulated/0/saved_signature/signature2.png")} /> <ImageDetail title='Signature Three' imageSource={require("/storage/emulated/0/saved_signature/signature3.png")} /> </View> ); };
Je voudrais alors consigner les accessoires de consoles sur ce composant enfant et si votre configuration est similaire à ce qui précède, vous devriez voir:
XXX
Les 3, 4, 5 seraient un identifiant, alors ne vous inquiétez pas pour ça, mais je le mets juste au cas où vous le verriez.
Maintenant dans votre composant enfant, vous pouvez supprimer ce require ('/ storage / emulated / 0 / saved_signature / signature.png')
de votre accessoire source = {}
et le remplacer par
ou comme vous l'avez appelé.
Merci, require
ne fonctionne pas pour mon problème, il se plaint d'une erreur Je l'ai corrigé en ajoutant file: //
au chemin de l'image