Image 如何在React本机组件中有条件地包含图像?

Image 如何在React本机组件中有条件地包含图像?,image,reactjs,react-native,Image,Reactjs,React Native,我可以将静态图像添加到列表视图单元格中,但如何动态更改图标图像 从 然后在renderCell方法中,它被传递到上面的单元格对象: renderCell(cell) { if (cell.type === 'ExpandingCell') { return ( <ExpandingCell cell={cell} /> ); } } 但是,当我尝试使用this.props.cell.icon时,如下所示: var

我可以将静态图像添加到
列表视图
单元格中,但如何动态更改图标图像

然后在
renderCell
方法中,它被传递到上面的单元格对象:

renderCell(cell) {
    if (cell.type === 'ExpandingCell') {
        return (
          <ExpandingCell cell={cell} />
        );
    }
}
但是,当我尝试使用
this.props.cell.icon
时,如下所示:

var LIST_DATA = [
 ...
  {type: 'ExpandingCell', 
   icon: './CellIcons/MagnifyingGlassIcon.png', //unused
   title: 'Lorem Ipsum', 
   detail: 'Donec id elit non mi porta gravida at eget metus.'},
...
];
<Image source={require(this.props.cell.icon)}></Image>

我得到以下错误:
需要未知模块“/CellIcons/放大镜图标.png”


提前感谢=)

包装时必须知道图像。报纸上有一节是关于它的

将其放在定义ExpandingCell的文件顶部:

const MAGNIFYING_GLASS_ICON = require('./CellIcons/MagnifyingGlassIcon.png');
然后你可以像这样使用常数

let icon = someCondition ? MAGNIFYING_GLASS_ICON : SOME_OTHER_ICON;
<Image source={icon}/>
let icon=someCondition?放大镜图标:一些其他图标;

你必须对所有你想以这种方式使用的图像都有要求。

我更仔细地阅读了eh文档,我想我对静态图像的要求太高了哈哈。我喜欢你上面提出的
const
解决方案,干杯!
const MAGNIFYING_GLASS_ICON = require('./CellIcons/MagnifyingGlassIcon.png');
let icon = someCondition ? MAGNIFYING_GLASS_ICON : SOME_OTHER_ICON;
<Image source={icon}/>