Как визуализировать изображение только один раз

У меня есть массив изображений:

[
  {
    'base64': ...
  }
  ...
]

И я визуализирую эти изображения с помощью:

<Image
    source = {{
        uri: 'data:' + image.mime + ';base64,' + image.base64
    }}
/>

Проблема в том, что на рендеринг уходит много времени, и каждый раз, когда я выхожу и возвращаюсь к экрану, React повторно визуализирует все изображения. Я пробовал FastImage, но это не помогает, поэтому я думаю о рендеринге этих изображений только один раз при запуске приложения и скрытии / отображении их в зависимости от текущего экрана.

Изображение Base64 нужно будет анализировать и повторно отображать каждый раз, когда вы загружаете страницу.

Just code 21.11.2018 12:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
145
1

Ответы 1

Обработка Base64 занимает много времени, вместо этого используйте файл изображения с расширением .jpg или .png.

Под стандартными изображениями, я думаю, вы подразумеваете хранение изображений в проекте React-native и их рендеринг. В этом случае вы можете использовать тег <Image> следующим образом:

<Image source = {require("./ImageName.png")}/>

Если вы хотите перейти на один уровень выше из файла .js, над которым вы работаете, используйте ./. Если вы хотите перейти на два уровня выше, используйте ../ в теге <Image>.

Надеюсь это поможет. Если есть сомнения, сделайте комментарий!

Но я хочу хранить изображения внутри своего приложения :(

NewBieBR 21.11.2018 12:59

Я отредактировал свой ответ @NewBieBR, проверьте, подходит ли он вашему вопросу.

Ron Astle Lobo 22.11.2018 06:51

Другие вопросы по теме