В моем приложении 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'
?