How to make React Native's ScrollView initial zoom to not be 1?

This may not be the way you intended to do this, but a possible solution:

You may get the devices height and width (var {height, width} = Dimensions.get('window')) and you know your image sizes,so you may easily calculate the needed width and height, let's call them var neededWidth, neededHeight;. You may then calculate the zoom to which you would like to zoom out: var zoom = Math.min(height / neededHeight, width / neededWidth);.

With these values in place, you may set an Animated value for the zoom, starting at 1 ending at zoom like this in your componentWillMount:

Animated.timing(
   this.state.animatedZoom,
   {toValue: zoom}
 ).start(); 

The constructor would look like this:

constructor(props) {
  super(props);
  this.state = {
    animatedZoom: new Animated.Value(1),
  };
}

The render function would look like this (reference for transform can be found here):

<ScrollView
  style={{width: 500, height: 1000, transform: [{ scale: this.state.animatedZoom }]}}
>
  <View style={{width: 2000, height: 5000}}>
    <Image style={{width: 2000, height: 2000}} source={.....}/>
    <Image style={{width: 2000, height: 3000}} source={.....}/>
  </View>
</ScrollView>