Doğal olarak tepki Image doc oldukça iyi! Yerli 0,14 Tepki As
Statik görüntüler
, bu kadar gibi statik resimleri kullanmanızı öneririz: Burada
<Image style={styles.catimg} source={require("./imgs/1.png")} />
Alacağınız bazı faydaları şunlardır:
- aynı sistemi iOS'ta ve Android.
- Görüntüler, JS kodunuzla aynı klasörde görüntülenir. Bileşenler bağımsızdır.
- Genel ad alanı yok, ör. Ad çakışmaları hakkında endişeniz yok.
- Sadece gerçekte kullanılan görüntüler uygulamanıza paketlenir.
- Resimlerin eklenmesi ve değiştirilmesi, uygulamanın yeniden derlenmesini gerektirmiyor, simülatörü normalde yaptığınız gibi yenilemeniz yeterlidir.
- Paketleyici, görüntü boyutlarını bilir, kodda çoğaltmaya gerek yoktur.
- Görüntüler npm paketleri ile dağıtılabilir. Örneğin, bir melez app inşa eğer
Ancak Yerli taraftan
Görüntüler, hala istiyorum, yerli taraftan bir resim kullanmak olabilir (bazı UI bazı UI platformu kodunda, Yerli Tepki).
Android'de, görüntüler gerçekten android/app/src/main/res/drawable-*
klasörlerinden okunacak.
Yeni bir React Native uygulaması oluşturduğunuzda, yalnızca mipmap
klasörleri bulunur. Mipmap klasörleri yalnızca uygulamanız/başlatıcı simgeleriniz içindir. Kullandığınız diğer çekilebilir varlıklar, daha önce olduğu gibi ilgili çizilebilir klasörlere yerleştirilmelidir. More info here. Bu nedenle, android/app/src/main/res/drawable-hdpi
diyelim, en az bir drawable
klasörü oluşturmalısınız, sonra görüntünüze imgs_1.png
yerleştirin.
Ne yazık ki, drawable
klasörleri alt dizinler içeremez. More info here. Ayrıca, görüntü adı bir harfle başlamalıdır ve yalnızca küçük harfler, sayılar veya boyutsuz karakter içerebilir. Örneğin, See this.
Sonra uzantısı olmadan bu, gibi resim kullanmak mümkün olacak:
<Image style={styles.catimg} source={{uri: "imgs_1"}} />
Evet bunu ancak hakkında bilmek onun da mümkündür URI kullanmak ve benim amaç için burada ihtiyacımız. IOS'ta çalışıyorsa neden Android'de çalışmaz? Dokümanlarda açıkça URI'nin yerel dosyalarla çalıştığı yazıyor. – Hasen
@Hasen tamam, cevabımı güncelledim! Gördüğünüz gibi, bu yöntemin Android'de bazı dezavantajları var, bu yüzden özel ihtiyacın ne olduğunu merak edebilir miyim? Belki de çalışması için başka bir yol var :) – Almouro
Resim dokümanı, URI'yi bir URL veya statik dosya ile kullanabileceğinizi ancak bunun statik bir dosyayla nasıl kullanılacağını veya herhangi bir örnek vermediğini belirtir. Bu beni ve başkalarını kurtardı, bir tane için sormaktan, iOS'ta nasıl yapılacağını ve sonra tekrar Android'de görünmesini istiyordu. IOS için de bir cevap almak çok zordu ve birçoğu bunu nasıl yapacağını bilmiyor gibiydi ama aslında hiç sorun değil. Görüntünün yüklenmesi, tek başına resim için yeterlidir, ancak dinamik için iyi değil çünkü istekte dizeleri ekleyemezsiniz. – Hasen