React Native中的FlatList正在呈现但不显示文本

时间:2019-05-02 12:58:06

标签: reactjs react-native

我正在尝试通过连接到内部JSON文件来呈现平面列表。单位列表似乎正在呈现,但未显示任何文本。代码中的卡片清单被渲染9次,JSON文件中有9个对象。但是没有文字显示。

// libraryList.js

    import React, { Component } from 'react';
    import { FlatList } from 'react-native';
    import { connect } from 'react-redux';
    import ListItem from './ListItem';

    class LibraryList extends Component {
      renderItem(library) {
          return <ListItem library={library} />;
      }

      render() {
      //  console.log(this.props);
      //  return;
    return (
          <FlatList
          data={this.props.libraries}
          renderItem={this.renderItem}
          keyExtractor={library => library.id}
          />
        );
      }
    }

    const mapStateToProps = state => {
        return { libraries: state.libraries };
      };

    export default connect(mapStateToProps)(LibraryList);

// ListItem.js

    import React, { Component } from 'react';
    import { Text } from 'react-native';
    import { CardSection } from './common';

    class ListItem extends Component {
      render() {
        return (
          <CardSection>
            <Text>{this.props.library.title}</Text>
            </CardSection>
        );
      }
    }

    export default ListItem;
    import React, { Component } from 'react';
    import { Text } from 'react-native';
    import { CardSection } from './common';

    class ListItem extends Component {
      render() {
        return (
          <CardSection>
            <Text>{this.props.library.title}</Text>
            </CardSection>
        );
      }
    }

    export default ListItem;

在此阶段只想列出标题即可。

2 个答案:

答案 0 :(得分:1)

您需要修改renderItem,因为FlatList将对象传递到renderItem回调函数中。

请使用以下内容

renderItem = ({ item }) => <ListItem library={item} />

答案 1 :(得分:0)

感谢Dan,您把我放在正确的位置。我用

renderItem = {({{item})=> this.renderItem(item)}