Можно ли импортировать изображения и использовать их в source
компонента <Image />
?
У меня есть много мест, где мне нужно условно отобразить значок или другой символ в зависимости от состояния , Например:
{isToggled ? (
<Image
resizeMode='contain'
source={require('../../assets/images/icon_chevron_up_B82BF9.png')}
style={styles.toggleArrowImage}
/>
) : (
<Image
resizeMode='contain'
source={require('../../assets/images/icon_chevron_down_B82BF9.png')}
style={styles.toggleArrowImagew}
/>
)}
Или
const getToogleImageSource = () => {
if (isToggled) {
return require('../../assets/images/icon_chevron_up_B82BF9.png')
}
return require('../../assets/images/icon_chevron_down_B82BF9.png')
}
...
<Image
resizeMode='contain'
source={getToogleImageSource()}
style={styles.toggleArrowImagew}
/>
Глядя на Реагируйте на собственную документацию по Image и ищите ее в StackOverflow, я всегда вижу решения, использующие require
чтобы получить исходный код.
Отсюда мой вопрос об использовании импорта ES6 следующим образом, чтобы уменьшить количество строк кода (мне также легче читать):
import chevronDown from ('../../assets/images/icon_chevron_down_B82BF9.png')
import chevronUp from ('../../assets/images/icon_chevron_up_B82BF9.png')
...
<Image
resizeMode='contain'
source={isToggled ? chevronUp : chevronDown}
style={styles.toggleArrowImagew}
/>
Я тестировал это локально и работает нормально, поэтому мне интересно, не вызовет ли это проблему с автономным приложением, из-за упаковщика или чего-то, что я игнорирую.
К вашему сведению, у меня это в приложении. json:
"assetBundlePatterns": [
"assets/images/*"
],
Спасибо за помощь.
[РЕДАКТИРОВАТЬ]: Я забыл упомянуть, что я использую Expo