In JS require Anweisungen werden zur Bündelzeit aufgelöst (wenn das JS-Bündel berechnet wird). Daher wird es nicht unterstützt, variable Ausdrücke als Argumente für require
zu verwenden.
Wenn Ressourcen benötigt werden, ist es noch komplizierter. Wenn Sie require('./someimage.png')
haben, wird Native Package reactor das erforderliche Image für das Gebietsschema eingeben und es wird dann zusammen mit der App gebündelt, damit es als "statische" Ressource verwendet werden kann, wenn Ihre App läuft (tatsächlich wird es im Entwicklungsmodus nicht gebündelt) das Bild mit Ihrer App, aber stattdessen wird das Bild vom Server serviert, aber das ist in Ihrem Fall egal).
Wenn Sie ein zufälliges Bild als statische Ressource verwenden möchten, müssen Sie Ihrer App mitteilen, dieses Bild zu bündeln. Sie können es in ein paar Möglichkeiten:
1) Fügen Sie es als eine statische Asset Ihrer App verweisen dann, um es mit <Image src={{uri:'name_of_the_image_in_assets.png'}}/>
(here ist, wie Sie es auf die native iOS-App hinzufügen)
2) Erfordert alle Bilder im Voraus statisch. Sth in Form von:
var randomImages = [
require('./image1.png'),
require('./image2.png'),
require('./image3.png'),
...
];
Dann in Ihrem Code können Sie tun:
<Image src={randomImages[Math.floor(Math.random()*randomImages.length)]}/>
3) Verwenden Sie das Netzwerk-Image mit <Image src={{uri:'http://i.imgur.com/random.jpg'}}/>
Haben Sie versucht, dies zu implementieren? Ich kann nicht verstehen, warum das nicht funktioniert, solange der Dateipfad zum Bild existiert. Seit RN0.14 können Sie direkt Bilder von Bildpfaden anfordern, daher sollte diese Methode funktionieren –
Haben Sie eine Lösung für Ihr Problem gefunden? – Rahul