在 React Native 中需要非静态图像
Require non-static image in React Native
我的 React Native 应用程序中有一个包含图像的特殊文件夹。这些图片的路径存储在作为 prop 传递给 Card 组件的特殊对象中。所以,我不能使用 require,因为它只使用静态路径字符串。我如何使用从我的道具加载这些图像?这是我的尝试:
import React from 'react';
import {
View,
Text,
Image,
TouchableOpacity,
StyleSheet
} from 'react-native';
import EmptyImage from '../data/images/empty-image.jpg';
class Card extends React.Component {
constructor(props) {
super(props);
}
render() {
const { myObject } = this.props;
return (
<View>
<Image
source={
myObject.imagesNames[0] ?
require(`../data/images/${myObject.imagesNames[0]}`)
:
EmptyImage
}
/>
</View>
);
}
}
export default Card;
由于您的图像是本地图像,因此最好通过要求如下图像
创建一个 json 对象
images={
image1:require('path'),
image2:require('path2'),
};
你可以像下面这样设置url
<Image source={
myObject.imagesNames[0] ?images[imagesNames[0]]:EmptyImage
}
/>
我的 React Native 应用程序中有一个包含图像的特殊文件夹。这些图片的路径存储在作为 prop 传递给 Card 组件的特殊对象中。所以,我不能使用 require,因为它只使用静态路径字符串。我如何使用从我的道具加载这些图像?这是我的尝试:
import React from 'react';
import {
View,
Text,
Image,
TouchableOpacity,
StyleSheet
} from 'react-native';
import EmptyImage from '../data/images/empty-image.jpg';
class Card extends React.Component {
constructor(props) {
super(props);
}
render() {
const { myObject } = this.props;
return (
<View>
<Image
source={
myObject.imagesNames[0] ?
require(`../data/images/${myObject.imagesNames[0]}`)
:
EmptyImage
}
/>
</View>
);
}
}
export default Card;
由于您的图像是本地图像,因此最好通过要求如下图像
创建一个 json 对象images={
image1:require('path'),
image2:require('path2'),
};
你可以像下面这样设置url
<Image source={
myObject.imagesNames[0] ?images[imagesNames[0]]:EmptyImage
}
/>