React Native: `<ScrollView>` имеет `flexGrow: 1` и` flexBasis: 'auto'`? - PullRequest
0 голосов
/ 18 апреля 2020

В моем приложении React Native есть следующий код (см. Демонстрационную версию на snack.expo.io/@gkeenley/2109b1):

<View style={{flex: 1}}>
  <ScrollView style={{height: 100}}/>
</View>

<View> - это Высота на весь экран из-за flex: 1. ScrollView растягивается так, что его высота заполняет <View>. Для меня это означает, что <ScrollView> имеет flex: 1 или height: '100%' по умолчанию. Но так как я установил height: 100 на ScrollView, я бы ожидал, что он переопределит высоту 100% по умолчанию, и в результате высота <ScrollView> будет равна 100. Кроме того, если вы удалите flex: 1 на <View>, высота <ScrollView> сделает равной 100, а <View> сворачивает только то, что соответствует его содержимому (<ScrollView>). Это означает, что <ScrollView> ведет себя так, что если его родитель имеет фиксированную высоту, он увеличивается до заполнения этого родителя, но если родитель не имеет фиксированной высоты, он будет иметь ту высоту, которую вы ему передали

Итак, <ScrollView> имеет flexGrow: 1 и flexBasis: 'auto'?

...