不变违规: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
我从课程中获得了这段代码,我是如何理解我的错误的,即 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';
导入 ListViewhttps://www.npmjs.com/package/deprecated-react-native-listview