React Native flex не дает высоту компоненту

Я пытаюсь создать что-то вроде этого:

React Native flex не дает высоту компоненту

В разделы, помеченные Dates, Time, пойдут мои данные из моих dates и timeSpan. Красная область — это место, где будет размещен мой календарь.

Я пытался подогнать Views так, чтобы они выглядели как столы, но это не очень хорошо получалось. Вот мой код:

<ScrollView>
      <View>...</View>
      <View **
          style = {{
              marginHorizontal: 10,
              marginTop: 10,
              flex: 1,
              borderColor: Colors.separatorColor,
              borderWidth: StyleSheet.hairlineWidth}}>
                  <View style = {{
                      flex: 1, 
                      flexDirection: 'row', 
                      borderBottomWidth: StyleSheet.hairlineWidth,
                      borderBottomColor: '#EDEDED'}}>
                          <View style = {{1, backgroundColor: '#ff0000'}}/>
                        {
                            dates.map((date, i) => {
                                <View key = {i} style = {{
                                    flex:1, 
                                    backgroundColor: '#00fff0', 
                                    borderRightColor: '#EDEDED', 
                                    borderRightWidth: StyleSheet.hairlineWidth}}>
                                    <Text>{date}</Text>
                                </View>
                            })
                        }
                        <View style = {{flex: 1, backgroundColor: '#ff0000'}}/>
                    </View>
                    {
                        timeSpan.map((time,i) => {
                            <View style = {{
                                flex: 1, 
                                flexDirection: 'row', 
                                borderBottomWidth: StyleSheet.hairlineWidth,
                                borderBottomColor: '#EDEDED'}}>
                                <View style = {{flex: 1, backgroundColor: '#ff0000'}}/>
                                <View style = {{flex: 1, backgroundColor: '#ff0000'}}/>
                            </View>
                        })
                    }
                </View>
                <View>...</View>
            </ScrollView>

<View>...</View> — это код для Other Stuff, из-за которого мой вопрос будет выглядеть намного длиннее, поэтому я его вырезал. Я пытаюсь сделать так, чтобы <View> выглядели как таблица с dates.length столбцами и timeSpan.length строками.

Проблема сейчас в том, что на моем экране ничего не появляется, когда я даю flex: 1 своему View, который я отметил в коде с помощью **. Однако, если я задаю ему фиксированную высоту, такую ​​как height: 260, то я получаю один большой толстый красный прямоугольник вместо множества View, которые составили бы мой собственный календарь.

Я поместил статические данные в dates и timeSpan и проверил путем регистрации, что итерации выполняются над этими массивами, поэтому я уверен, что строки и столбцы создаются, но они не отображаются на экране.

Как мне решить эту проблему, которая, как мне кажется, вызвана ценностями flex?

Обновлено:

вот пример закуски моего приложения:

<div data-snack-id = "@ohnu93/tenacious-marshmallows" data-snack-platform = "ios" data-snack-preview = "true" data-snack-theme = "light" style = "overflow:hidden;background:#fafafa;border:1px solid rgba(0,0,0,.08);border-radius:4px;height:505px;width:100%"></div>
<script async src = "https://snack.expo.io/embed.js"></script>

Было бы хорошо, если бы вы привели пример закуски.

Paras Korat 13.02.2019 17:34

@ParasKorat Что ты имеешь в виду под закуской??

ohnu93 13.02.2019 17:37

@ ohnu93 он имеет в виду Expo Snack, пример проекта, размещенного в Интернете, чтобы мы могли посмотреть на код и попытаться лучше понять проблему. Вот ссылка на него закуска.expo.io

Bruno Eduardo 13.02.2019 17:49

@BrunoEduardo ах, спасибо!

ohnu93 13.02.2019 18:38

@ParasKorat добавил мой кусочек закуски!

ohnu93 13.02.2019 18:56
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
5
53
0

Другие вопросы по теме