React Native Scroll View with flex

I'm trying to create a modal, which has 2 parts: ScrollView and TouchableOpacity.

So i used react-native-modal and my app.js:

import React, { Component } from "react";
import {
  ScrollView,
  StyleSheet,
  Text,
  TouchableOpacity,
  View
} from "react-native";
import Modal from "react-native-modal";

export default class Example extends Component {
  state = {
    isModalVisible: false
  };

  render() {
    return (
      <View style={styles.container}>
        <TouchableOpacity
          onPress={() => this.setState({ isModalVisible: true })}
        >
          <View style={styles.button}>
            <Text>Open It!</Text>
          </View>
        </TouchableOpacity>

        <Modal
          isVisible={this.state.isModalVisible}
          onBackButtonPress={() => this.setState({ isModalVisible: false })}
        >
          <View style={styles.modalContent}>
            <View style={{ flex: 9 }}>
              <ScrollView contentContainerStyle={{ flexGrow: 1 }}>
                <View style={{ flex: 3, backgroundColor: "red" }}>
                  <Text>A</Text>
                </View>

                <View style={{ flex: 2, backgroundColor: "yellow" }}>
                  <Text>B</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "green" }}>
                  <Text>C</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "blue" }}>
                  <Text>D</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "cyan" }}>
                  <Text>E</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "orange" }}>
                  <Text>F</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "orange" }}>
                  <Text>F</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "orange" }}>
                  <Text>F</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "orange" }}>
                  <Text>F</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "orange" }}>
                  <Text>F</Text>
                </View>

                <View style={{ flex: 1, backgroundColor: "orange" }}>
                  <Text>F</Text>
                </View>
              </ScrollView>
            </View>
            <View style={{ flex: 1 }}>
              <TouchableOpacity
                style={styles.button}
                onPress={() => this.setState({ isModalVisible: false })}
              >
                <Text>Add Package</Text>
              </TouchableOpacity>
            </View>
          </View>
        </Modal>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center"
  },

  button: {
    backgroundColor: "lightblue",
    padding: 12,
    margin: 16,
    justifyContent: "center",
    alignItems: "center",
    borderRadius: 4,
    borderColor: "rgba(0, 0, 0, 0.1)"
  },

  modalContent: {
    flex: 1,
    backgroundColor: "white",
    padding: 22,
    justifyContent: "center",
    alignItems: "center",
    borderRadius: 4,
    borderColor: "rgba(0, 0, 0, 0.1)"
  }
});

But now it's unscrollable! I tried to remove the flexGrow: 1 but then the child's flex: x lose its effect!

Please consider that I DON'T WANT to use height and width!

Any idea?

Thanks in advance!