This seems to happen when
1. I take a component as a prop
2. I use that component as a JSX constructor in a hook

Minimal repro:
```jsx
export const Foo = ({ Component }) => {
  React.useEffect(() => {
    console.log(<Component />);
  }, []);
};
```

```
    "eslint-plugin-react-hooks": "^4.1.1",
```


---

Interestingly, this does NOT cause the error:
```jsx
export const Foo = ({ component }) => {
  React.useEffect(() => {
    const Component = component;
    console.log(<Component />);
  }, []);
};
```
code: normalizeIndent`
        function MyComponent(props) {
          let [, setState] = useState();
          const handleNext = (value) => {
            setState(value);
          };
          useEffect(() => {
            return Store.subscribe(handleNext);
          }, [handleNext]);
          return <div onClick={handleNext} />;
        }
      `,
      errors: [
        {
          message:
            `The 'handleNext' function makes the dependencies of ` +
            `useEffect Hook (at line 11) change on every render. ` +
            `To fix this, wrap the definition of 'handleNext' in its own useCallback() Hook.`,
          
          
          suggestions: [
            {
              desc:
                "Wrap the definition of 'handleNext' in its own useCallback() Hook.",
              output: normalizeIndent`
                function MyComponent(props) {
                  let [, setState] = useState();
                  const handleNext = useCallback((value) => {
                    setState(value);