javascript - React Native ListView 到 FlatList 迁移

标签 javascript reactjs react-native redux react-native-flatlist

所以我开始从视频中学习react-native,他们使用了ListView,但ListView很快就会被弃用并将被删除。我知道 FlatList 将是正确的替代品,但作为初学者,我无法迁移到 Flatlist。

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

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}
            />

        );
    }
}

const mapStateToProps = state => {

    return { libraries: state.libraries };

}; 

export default connect(mapStateToProps) (LibraryList);   

最佳答案

欢迎来到 stackoverflow。

迁移应该非常简单,您不再需要dataSource。您可以将项目数组直接传递给组件。

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

class LibraryList extends Component {
    renderRow({item}) {
        return <ListItem library = { item } />;
    }
    render() {
        return(
            <FlatList
                data = {this.props.libraries}
                renderItem = {this.renderRow}
            />
        );
    }
}

const mapStateToProps = state => {

    return { libraries: state.libraries };

}; 

export default connect(mapStateToProps) (LibraryList); 

标题转到文档 here了解更多信息。

关于javascript - React Native ListView 到 FlatList 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52905081/

相关文章:

ios - StatusBar 背景色 iOS React Native

javascript格式价格

javascript - 事件多次发生

javascript:全 Angular 居中动画 slider

javascript - 应该如何在 React 类中编写函数?

xcode - 从 v0.61.5 手动升级到 v0.63.3 后如何修复 'ReactCommon/CallInvoker.h file not found'

javascript - 向php请求信息

javascript - React Native 如何通过组件共享登录状态?

reactjs - observable.takeUntil... 和 observable.pipe(takeUntil) 之间的区别

javascript - react-native 中的 WebView 出现错误 "Encountering an error loading page"