(注意:我在这个应用程序中使用 Expo)
我正在尝试渲染一个FlatList
显示打印机列表。这是代码:
<FlatList
data={printers}
keyExtractor={printer => printer.id}
renderItem={({ item }) => {
return (
<Printer
printerTitle={item.name}
selected={item.selected}
last={item === last(printers)}
/>
);
}}
/>
这是代码<Printer />
成分:
const Printer = props => {
const { last, printerTitle, selected } = props;
return (
<View style={[styles.container, last ? styles.lastContainer : null]}>
<View style={styles.innerContainer}>
<View style={styles.leftContainter}>
{selected ? (
<Image source={selected ? Images.checkedCircle : null} />
) : null}
</View>
<View style={styles.printerDetails}>
<Text style={styles.printerTitle}>{printerTitle}</Text>
</View>
</View>
</View>
);
};
...
export default Printer;
我似乎无法理解<Printer />
要渲染的组件。我尝试过包含一个类似的自定义组件(该组件已在FlatList
在应用程序的另一部分)renderItem
道具,它也不起作用。
但是,当我更换<Printer />
组件与<Text>{item.name}</Text>
组件中,打印机名称按照我的预期呈现。
有没有人以前遇到过这个问题,或者有人有解决方案吗?
就我而言,我为列表中的每个项目渲染自定义组件,但它没有渲染,因为我不小心{}
围绕返回部分renderItem
道具代替()
.
改变:
<FlatList
data={array}
renderItem={({item, index}) => { <CustomItemComponent /> }}
/>
对此:
<FlatList
data={array}
renderItem={({item, index}) => ( <CustomItemComponent /> )}
/>
解决了我的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)