2017-03-05 33 views
6

React.js'deki görüntüler nasıl yüklenir? Ben menü gibi çalışır seçme bileşeni açılır listesinden var, ancak bazen ilk açma görünür değildir çünkü ben, öğeler için görüntü simgeleri önceden yüklemek zorunda.React.js'deki görüntüler nasıl yüklenir?

denedim:

https://github.com/sambernard/react-preload

https://github.com/wizardzloy/react-img-preload

Birincisi anlaşılması kolay ve kullanımı güzel API vardır, ama onlar yaparken görseller Dolu bile değildi uyarı ile konsolu Toplu mesaj olduğunu. İkincisi garip bir API var, ama örnek denedim ve hiçbir şey önyükleme yapmadı.

Yani Herhalde kendim bir şeyler uygulamak gerekiyor ama nereden başlayacağımı bilmiyorum. Ya da başka bir olasılık onları webpack ile yüklemek olurdu.

+0

bu simgeler küçük Are (......, Açısal hatta JS/TS mevcut API'leri kullanın Tepki) Kendi önyükleme API uygulamak için sadece araçlardır? Veri URI'ları olabilir mi? Ya da belki de satır içi SVG'ler? – silvenon

cevap

2

, bil ki, birkaç küçük "simgeler" teslim konusunda - (? Nedenfontları kullanarak değil) - ve sunucu hizmet veriyorsa dosyaları örneğin base64 kullanabilirsiniz gzip'lenmiş. seçme ayrıca önceki HTML (display: none ile) img etiketleri eklemek olabilir anında görünmüyorsa Aksi takdirde

. Başka bir yol ise, Image nesnelerini DOM'a eklemek ve bileşeni görüntülemeden önce .onload'u beklemektir (bu yaklaşım, bahsettiğiniz kitaplıklar tarafından kullanılır).

Bildiğim kadarıyla webpack hayal veya burada sizin için özel bir şey yapamaz tepki gibi. Bu istemci tarafında bir şeydir ve bu

+0

[nedenlerinden ** bol **] vardır (https://css-tricks.com/icon-fonts-vs-svg/) SVG lezyonu yerine yazı tiplerini kullanmak için. – filoxo

+0

Satır içi SVG'leri de ekleyebilirsiniz (React, böyle bir simge sisteminin kolay uygulanmasını sağlar). Ayrıca, yazar veri URI'sine gitmeye karar verirse, webpack bunu kolaylaştırır. Ama evet, soru yeterince spesifik değil. – silvenon

+0

svgs ile ilgili yazı tipleri hakkında mı düşündünüz? Ama ipucu için teşekkürler Elbette böyle şeyler uygulamak için yardımcı olabilecek birçok araç var .. – Tim