title: Props in functional component are missing in props validation
body: <p>Eslint throwing eslint(react/prop-types) error despite already declared propTypes. I'm using <a href="https://github.com/Intellicode/eslint-plugin-react" rel="nofollow noreferrer">eslint-plugin-react</a></p>
  
  <p>I've looked at a couple of other similar problems and as well as the <a href="https://github.com/Intellicode/eslint-plugin-react/blob/master/docs/rules/prop-types.md" rel="nofollow noreferrer">lint rule for the proptype</a> but they don't address my issue.</p>
  
  <pre><code>import React from 'react';
  import { View, Text, TouchableHighlight, StyleSheet } from 'react-native';
  import PropTypes from 'prop-types';
  
  const PASTEL_PINK = '#dea5a4';
  const PASTEL_BLUE = '#779ecb';
  
  const Buttons = ({ onPressStart, onPressPause, onPressReset, onGoing }) =&gt; (
    &lt;View &gt;
      &lt;TouchableHighlight
        onPress={onPressStart}
        disabled={onGoing}
      &gt;
        &lt;Text &gt;{START_TIMER}&lt;/Text&gt;
      &lt;/TouchableHighlight&gt;
      &lt;TouchableHighlight
        onPress={onPressPause}
        disabled={!onGoing}
      &gt;
        &lt;Text &gt;{PAUSE_TIMER}&lt;/Text&gt;
      &lt;/TouchableHighlight&gt;
      &lt;TouchableHighlight onPress={onPressReset}&gt;
        &lt;Text &gt;{RESET_TIMER}&lt;/Text&gt;
      &lt;/TouchableHighlight&gt;
    &lt;/View&gt;
  );
  
  Buttons.protoTypes = {
    onPressStart: PropTypes.func.isRequired,
    onPressPause: PropTypes.func.isRequired,
    onPressReset: PropTypes.func.isRequired,
    onGoing: PropTypes.bool.isRequired,
  };
  
  export default Buttons;
  </code></pre>
  
  <p>Parent component supplying the props</p>
  
  <pre><code>import React from 'react';
  import Buttons from './components/Buttons'
  import Container from './components/Container';
  import Timer from './components/Timer';
  import Inputs from './components/Inputs';
  import Logo from './components/Logo';
  import Buttons from './components/Buttons'
  import Header from './components/Header'
  
  export default class Home extends React.Component {
    constructor(props){
      super(props)
      this.state = {
        initialMinute: '00',
        initialSecond: '00',
        minute: '00',
        second: '00',
        completed: false,
        onGoing: false,
      }
  
    componentWillMount() {
      this.setState({
          minute: this.state.initialMinute,
          second: this.state.initialSecond,
        }
      );
    }
  
    componentWillUnmount() {
      clearInterval(this.interval);
    }
  
    startTimer = () =&gt; {
      console.log("Timer Started")
      this.setState(
        (prevState) =&gt; (
          {
            completed: false,
            onGoing: true,
          }
        )
      )
      // start the timer
      this.interval = setInterval(
        this.decrementTime,
        1000
      )
    }
  
    decrementTime = () =&gt; {
      if (this.state.second &gt; 0) {
        console.log(`second: ${this.state.second}`)
        this.setState(
          (prevState) =&gt; (
            {second: prevState.second - 1}
          )
        )
        if (this.props.second &lt; 10) {
          this.setState({
              second: '0'+this.state.second
          });
        }
      }
      else {
        if (this.state.minute &gt; 0) {
          this.setState(
            (prevState) =&gt; (
              {
                minute: prevState.minute - 1,
                second: prevState.second + 59,
              }
            )
          )
          if (this.props.minute &lt; 10) {
            this.setState({
                state: '0'+this.state.minute
            });
          }
        }
        else {
          this.resetTimer();
          this.timesUp(true);
        }
      }
    }
  
    pauseTimer = () =&gt; {
      console.log("Timer stopped")
      clearInterval(this.interval);
      this.setState({
          onGoing: false,
        }
      )
    }
  
    resetTimer = () =&gt; {
      console.log("Timer is reset")
      this.pauseTimer();
      this.setState({
          minute: this.state.initialMinute,
          second: this.state.initialSecond,
        }
      );
    }
  
    timesUp = (bool) =&gt; {
      this.setState(
        (prevState) =&gt; (
          {
            completed: bool,
          }
        )
      )
    }
  
  
    optionPressed = () =&gt; {
      console.log("Header is pressed")
    }
  
    handleMinuteInput = (text) =&gt; {
      // clamp minute between 0 and 60
      // const number = helper.clamp(parseInt(text), 0, 60)
      this.setState(
        {
          initialMinute: text,
        }
      )
    }
  
    handleSecondInput = (text) =&gt; {
      // const number = helper.clamp(parseInt(text+''), 0, 60)
      this.setState(
        {
          initialSecond: text,
        }
      )
    } 
  
    render() {
      return (
        &lt;Container&gt;
          &lt;Header onPress={this.optionPressed}/&gt;
            &lt;Logo 
              slogan={'Get studying, the Pomodoro way!'}
              imageSource={'../../assets/pomo-timer-logo-small.png'}
            /&gt;
            &lt;Timer 
              minute={this.state.minute}
              second={this.state.second}
              completed={this.state.completed}
              onGoing={this.state.onGoing}
            /&gt;
            &lt;Buttons 
              onPressStart={this.startTimer}
              onPressPause={this.pauseTimer}
              onPressReset={this.resetTimer}
              onGoing={this.state.onGoing} // true when not onGoing
            /&gt;
            &lt;Inputs 
              inputType={'Work'}
              labelColor={PASTEL_BLUE}
              handleMinuteInput={this.handleMinuteInput}
              handleSecondInput={this.handleSecondInput}
              onGoing={this.state.onGoing}
            /&gt;
            &lt;Inputs
              inputType={'Rest'}
              labelColor={PASTEL_PINK}
              // setTimer={this.setTimer}
              handleMinuteInput={this.handleMinuteInput}
              handleSecondInput={this.handleSecondInput}
              onGoing={this.state.onGoing}
            /&gt;
        &lt;/Container&gt;
      )
    }
  }
  </code></pre>
  
  <p>I don't expect these error to show up but it does.</p>
  
  <p>'onPressStart' is missing in props validation
  'onPressPause' is missing in props validation
  'onPressReset' is missing in props validation
  'onGoing' is missing in props validation</p>