title: Issues with React native video playback and image cover
body: <p>I am trying to recreate the snapchat discover, I have applied the code below and when I click on my cover image nothing happens. If I manually set my state to true, flatlist renders the video and I can play any of the videos. I would like to click on the image and switch to the video.</p>
  
  <pre><code> class Games extends React.Component {
    constructor(props) {
      super(props);
      this.state = {
        show: false
      };
    }
  
    playVideo() {
      this.setState({ show: true });
    }
  
    render() {
      const renderVideo = ({ item, index }) =&gt; {
        return (
          &lt;TouchableOpacity onPress={this.playVideo()}&gt;
               {this.state.show ?
              &lt;VideoPlayer
                videoProps={{
                  shouldPlay: true,
                  resizeMode: Video.RESIZE_MODE_CONTAIN,
                  source: {
                    uri: 'https://gcs-vimeo.akamaized.net/exp=1549330881~acl=%2A%2F671569878.mp4%2A~hmac=17bb2f7f2be7c20848448cfc810096c82cf7e7715b7fa43566c4a899912fa42b/vimeo-prod-skyfire-std-us/01/4838/7/199191069/671569878.mp4',
                  },
                }}
                isPortrait
                playFromPositionMillis={0}
              /&gt;
  :
    &lt;View
            style={[
              { width: Dimensions.get('window').width / 2.2 },
              { height: 250,
                margin: 8
            }]}
          &gt;
              &lt;Image
                square
                source={{ uri: 'https://pixabay.com/get/ea34b90a29f3013ed1534705fb094797e771e0dd11b50c4090f4c87aa5e9bcbfdd/training-3185170_1920.jpg' }}
                key={index}
                style={{
                  flex: 1,
                  height: undefined,
                  width: undefined,
                  borderRadius: 10,
                  borderWidth: 0.5,
                  borderColor: '#dddddd'
                }}
              /&gt;
    &lt;/View&gt;}
          &lt;/TouchableOpacity&gt;
  
        );
      };
  
  
      if (this.props.game.isLoading) {
        return (
          &lt;Loading /&gt;
        );
      }
      else if (this.props.game.errMess) {
        return (
          &lt;View&gt;
            &lt;Text&gt;{this.props.game.errMess}&lt;/Text&gt;
          &lt;/View&gt;
        );
      }
      else {
        return (
            &lt;FlatList
              data={this.props.events.events}
              renderItem={renderVideo}
              keyExtractor={item =&gt; item.id.toString()}
              showsVerticalScrollIndicator={false}
              contentContainerStyle={styles.container}
              numColumns={2}
            /&gt;
        );
      }
    }
  }
  </code></pre>
  
  <p>I am new to react-native so feel free to call me out on any mistake you may notice in my code.</p>