【发布时间】:2018-04-14 04:59:30
【问题描述】:
(注意:我正在为这个应用程序使用 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 /> 组件。我尝试在 renderItem 属性中包含一个类似的自定义组件(在应用程序的另一部分中的 FlatList 中工作),它也不起作用。
但是,当我将 <Printer /> 组件替换为 <Text>{item.name}</Text> 组件时,打印机名称的呈现方式与我预期的一样。
以前有没有人遇到过这个问题,或者有没有人有解决方案?
【问题讨论】:
-
打印机组件是什么样的?你如何导出它?你如何导入它?你有没有尝试将Printer中的渲染组件直接放入renderItem?你有任何错误吗?
标签: react-native expo custom-component flatlist