我正在尝试将可搜索列表添加到我的 React Native 应用程序,但在尝试呈现列表本身时遇到了问题。错误是旧的“您可能忘记从其定义的文件中导出组件,或者您可能混淆了默认导入和命名导入”。我确定这可能是我的问题,但在网上阅读了该问题的多种变体之后,我似乎无法弄清楚问题出在哪里。
我尝试过以逐一列出它们的方式更改每一个使用过的导入,使用和删除括号。我尝试重新安装 react-native-elements,并检查我的依赖项以获得正确的版本。还尝试了没有数据的渲染列表。
列表组件: 列表.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;
我希望列表能够呈现,但它没有。
最佳答案
首先,您需要删除
List
组件,因为react-native-elements
不包含它。您需要做的第二件事是从
View
组件中删除alignItems: "center", justifyContent: "center"
。另外,在
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 .
关于javascript - React Native FlatList 不呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55356233/