我正在尝试将可搜索列表添加到我的React Native应用程序中,但是在尝试呈现列表本身时遇到问题。错误是旧的“您可能忘记了从定义其的文件中导出组件,或者您可能混淆了默认导入和命名导入”。我敢肯定这可能是我的问题,但是在在线阅读了该问题的几种变体之后,我似乎无法弄清楚问题出在哪里。
我尝试过以一种逐一列出的方式更改所有已使用的导入,并使用和删除括号。我尝试重新安装react-native-elements,并检查我的依赖项是否有正确的版本。还尝试了不包含数据的呈现列表。
列表组件: Liste.js
import { View, Text, FlatList } from "react-native";
import {List, ListItem } from "react-native-elements"
class Liste extends Component {
constructor(props) {
super(props);
...
render() {
return (
<View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
<List>
<FlatList
data={this.state.data}
renderItem={({ item }) => (
<ListItem
roundAvatar
title={`${item.name.first} ${item.name.last}`}
subtitle={item.email}
avatar={{ uri: item.picture.thumbnail }}
/>
)}
/>
</List>
</View>
);
}
}
export default Liste;
我希望列表完全呈现,但不是。
答案 0 :(得分:2)
首先,您需要删除List
组件,因为react-native-elements
不包含它。
您需要做的第二件事是从alignItems: "center", justifyContent: "center"
组件中删除View
。
此外,在FlatList
组件中,属性avatar
是错误的。您必须在leftAvatar
和rightAvatar
之间进行选择。
您的同伴应该看起来像这样:
<View style={{ flex: 1 }}>
<FlatList
data={this.state.data}
renderItem={({ item }) => (
<ListItem
roundAvatar
title={item.title}
subtitle={item.body}
leftAvatar={{
source: item.thumbnail && { uri: item.thumbnail },
}}
/>
)}
/>
</View>
这里是工作中的demo。