URI против URL в React Native - PullRequest
       26

URI против URL в React Native

0 голосов
/ 09 мая 2018

В реакции-нативе можно сделать:

const somePath = 'https://...'
<Image source={somePath} />

или

const somePath = 'https://...'
<Image source={{uri: somePath}} />

Из веб-адресов я понимаю, что URI - это расширенный набор URL-адресов и URN.

Вопросы

  1. Каковы потенциальные проблемы, связанные с предоставлением source веб-адреса в качестве URL-адреса?
  2. Каковы потенциальные проблемы, связанные с предоставлением веб-адреса для source в качестве URI?

  3. Какой способ предоставления адреса изображения для source является более точным, безопасным и пригодным для будущего?

1 Ответ

0 голосов
/ 09 мая 2018

Первый приведенный вами пример кода не будет работать

const somePath = 'https://...'
<Image source={somePath} />

В общем случае вы должны использовать исходную подпорку для предоставления локального изображения, например

const someLocalImage = require("./assets/someImageName.png");
<Image source={someLocalImage} />

и URI для отображения удаленного изображения, как так

<Image source={{uri: "https://example.com/someRemoteImagePath.png" />

Вы также можете использовать URI для отображения данных изображения base64

<Image
      source={{uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAEXRFWHRTb2Z0d2FyZQBwbmdjcnVzaEB1SfMAAABQSURBVGje7dSxCQBACARB+2/ab8BEeQNhFi6WSYzYLYudDQYGBgYGBgYGBgYGBgYGBgZmcvDqYGBgmhivGQYGBgYGBgYGBgYGBgYGBgbmQw+P/eMrC5UTVAAAAABJRU5ErkJggg=='}}
    />

Подробнее об этом читайте в документации

https://facebook.github.io/react-native/docs/image.html#source

...