react-native - 如何在本机反应中动态传递图像?
问题描述
我有以下代码:
let fileIcon = props.type == DOCUMENT_TYPE.Project ? "024-folder-16" : "file";
let concatString = '../assets/images/'.concat(fileIcon, 'png');
我稍后会尝试使用值“concatString”:
let fileIcon = props.type == DOCUMENT_TYPE.Project ? "024-folder-16" : "file";
let concatString = '../assets/images/'.concat(fileIcon, 'png');
const renderChapterItem = chapterData => {
return (
<TouchableOpacity
style={styles.gridItem}
onPress={() => {
props.navigation.navigate("Document", {text: chapterData.item[1]})
}}
>
<Image
style={styles.image}
source={require(concatString)}/>
)
}
但是,我不断收到错误消息
第 21 行的无效调用:require(concatString)
解决方案
让 concatString = '../assets/images/'.concat(fileIcon, '.png'); 用上面给定的变量替换你的 concatString 。您还没有添加“。” 在扩展“png”之前。
另外的选择:
分别导入两个图像,并使用它们而不是 require 语句。喜欢 :
import img1 from '../../{YOUR_IMAGE_NAME_WITH_EXTENTION}';
import img2 from '../../{YOUR_IMAGE_NAME_WITH_EXTENTION}';
let img = (condition)? img1 : img2;
<Image
style={styles.image}
source={img}/>
推荐阅读
- wso2 - 将 if else 应用于实时日志 WSO2 碳日志
- javascript - (Vuejs,Vuetify)如何避免,两次加载对象形成一个API?
- php - 我有一个 php 注册页面,我想在其中返回错误以防万一
- autodesk-forge - 对伪造查看器不起作用的材料着色
- php - 带有 Slim Framework(v4) 的正文请求返回 null
- reactjs - React 实用教程中的比较作业
- php - PHPUnit 5.7.23 中为 foreach() 提供的参数无效
- javascript - 如何从具有组的用户列表中创建具有地址字符串的组?
- ios - 设置单元格的更好方法
- javascript - PHP 驱动的选择函数