为什么我的react-native组件重叠

时间:2017-01-06 13:18:04

标签: javascript reactjs react-native flexbox

我想将2个组件放在彼此之下。我的组件如下所示:

import React from 'react';
import {connect} from 'react-redux';
import {Text, StyleSheet, View, ListView, Switch, TextInput} from 'react-native';
import {List, ListItem} from 'native-base';
import SearchBar from '../shared/search-bar';

const mapStateToProps = (state) => {
    return {
        movies: state.movies.movies
    };
};

const mapDispatchToProps = (dispatch) => {
    return {};
};

const Component = ({movies}) => {
    return (
        <View style={styles.container}>
            <SearchBar style={styles.searchBarContainer}/>
            <List
                style={styles.list}
                dataArray={movies}
                renderRow={movie => <ListItem><Text>{movie.title}</Text></ListItem>}
            />
        </View>
    );
};

let styles = StyleSheet.create({
    container: {
        flexDirection: 'column',
        flex: 1,
    },
    searchBarContainer: {
        flex: 0
    },
    list: {
        flex: 1
    }
});

export default connect(mapStateToProps, mapDispatchToProps)(Component);

出于某种原因,在渲染它们时,列表只会在搜索栏上呈现。为什么flexDirection:&#39;列&#39;不要把它们放在彼此之下?

我觉得我错过了有关flexbox布局的一些内容。

1 个答案:

答案 0 :(得分:12)

在你的style.container中,删除flex条目,但保留flexDirection。