Problème avec le chargement dynamique des ressources d'image dans une boucle/liste.Chargement dynamique des images stockées localement avec réaction natif
J'ai toutes mes ressources locales statiques nécessaires en tant que tels:
actifs/listeImages.js
const images = {
appLogo: require('./app-logo.png'),
cardOne: require('./cards/card-1.png'),
cardTwo: require('./cards/card-2.png'),
...
cardForty: require(./cards/card-40.png)
}
export default images;
Puis dans mon écran de la liste:
...
import images from '../assets/images';
...
renderListItems(item) {
const image_name = `images.card${item.cardName}`;
console.log(image_name); // images.cardOne, images.cardTwo etc..
return (
<ListItem avatar>
<Thumbnail square size={80} source={image_name} /> // This is nativebase component which wraps the RN image component
<Body>
<Text>{item.name}</Text>
</Body>
<Right>
<NBIcon name="arrow-forward" />
</Right>
</ListItem>
);
}
...
Aucune ressource obtenir chargé. Pourtant, si je change la source = {image_name} à source = {images.cardOne} directement (où images.cardOne est exactement le même que la variable image_name à la première itération) cela fonctionne - sauf pour le fait qu'ils ont tous la même image .
J'ai également essayé d'utiliser la syntaxe {{uri: image_name}} mais rien ne s'y passe aussi.
Il ne semble pas être une solution à cela, autre que la création d'une instruction switch massif
Merci, qui a travaillé un charme – Martin