不变违规:ListView 已被删除。但

Invariant Violation: ListView has been removed. But

我从课程中获得了这段代码,我是如何理解我的错误的,即 ListView 已从 ReactNative 中删除。我该如何解决这个问题?

我尝试将所有 ListView 标记替换为 FlatList。但是没有成功。

class LibraryList extends Component {
 componentWillMount() {
   const ds = new ListView.DataSource({
    rowHasChanged: (r1, r2) => r1 !== r2
 });

  this.dataSource = ds.cloneWithRows(this.props.libraries);
 }

renderRow(library) {
  return <ListItem library={library} />;
}

render() {
  return (
   <ListView
     dataSource={this.dataSource}
     renderRow={this.renderRow}
    />
   );
  }
}
class LibraryList extends Component{
    renderRow({item}) {
        return <ListItem library = { item } />;
    }

    render() {
        return(
            <FlatList
                data = {this.props.libraries}
                renderItem = {this.renderRow}
            />
        );
    }
}

列表视图在 React Native 0.60 中已弃用。所以快速修复是使用 deprecated-react-native-listview

需要添加

从 "deprecated-react-native-listview" 导入 ListView;

而不是

从 'react-native';

导入 ListView

https://www.npmjs.com/package/deprecated-react-native-listview