React Native FlatList不呈现

时间:2019-03-26 11:38:02

标签: javascript reactjs react-native react-native-elements

我正在尝试将可搜索列表添加到我的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;

我希望列表完全呈现,但不是。

1 个答案:

答案 0 :(得分:2)

  • 首先,您需要删除List组件,因为react-native-elements不包含它。

  • 您需要做的第二件事是从alignItems: "center", justifyContent: "center"组件中删除View

  • 此外,在FlatList组件中,属性avatar是错误的。您必须在leftAvatarrightAvatar之间进行选择。

您的同伴应该看起来像这样:

<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