簡體   English   中英

React Native:平面列表不呈現

[英]React Native: Flat List not rendering

我正在嘗試加載一個平面列表,其中包含從 firebase 獲取的一些項目。 我已經能夠驗證我正在從 firebase 獲取數據。

獲取數據后,我將狀態鍵“isLoading”更新為 false,以顯示 flatList。

只是為了測試我已經將數據設置為一組靜態值,但它仍然沒有呈現。

任何想法為什么?

export default class ListScreen extends Component {

    state = {
        posts: [],
        isLoading: true
    }

    componentDidMount() {

        fetch('https://test.firebaseio.com/posts.json', {
            headers: {
                'Content-Type': 'application/json'
            }
        }).then(response => {
            return response.json();
        })
        .then(items => {

            this.setState({
                posts: items,
                isLoading: false
            })

        }).catch(err => {
            alert(JSON.stringify(err));
        });

    }

    render() {

        const activityIndicator = <ActivityIndicator />

        let list;
        if(this.state.isLoading) {
            list = activityIndicator
        } else {
            list = <FlatList style={{flex: 1}} data={[{key: 'a'}, {key: 'b'}]} renderItem={({item}) => {
                return <Text>{item.key}</Text>
            }} keyExtractor={(item) => { return item.key; }} />
        }

        return (
            <View style={styles.container}>
                <Text>Posts</Text>
                <Button title="Add Post" onPress={() => {
                    this.onAddPost();
                }} />

                <View>{list}</View>

            </View>
        )

    }

    onAddPost = () => {
        this.props.navigation.navigate('create');
    }

}

只需從FlatList刪除style={{flex: 1}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM