javascript - React Native FlatList 不呈现
问题描述
我正在尝试将可搜索列表添加到我的 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;
我希望列表完全呈现,但它没有。
解决方案
首先,您需要删除该
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>
这是一个工作演示。
推荐阅读
- android - Wear OS - 如何在设备重启时自动启动应用程序
- django - Django:保存时管理页面重定向但在新选项卡中
- python - Python:使用变量名命名文件夹和文件
- windows - 事件 0,ScreenConnectClient (703c90ac61f84ee1)
- testing - rails-admin 贡献:运行测试(缺少 gem)
- c++ - 如何更改 Google Benchmark 'Range()' 函数的增量、步长或比例
- python - 如何使用 image_to_string 从包含不同语言文本的图像中提取文本?
- javascript - CS50 网络 - 项目 4 网络
- javascript - 想要获取复选框的值并将其值分配给类名
- reactjs - 为什么我们在 styorybook/react 中需要 ComponentStory、ComponentMeta