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

bek*_*r98 8 version react-native react-redux

我从课程中获得了这段代码,以及我如何理解我的错误,即 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}
    />
   );
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 14

在 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


M.H*_*hya 7

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

    render() {
        return(
            <FlatList
                data = {this.props.libraries}
                renderItem = {this.renderRow}
            />
        );
    }
}
Run Code Online (Sandbox Code Playgroud)