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 />);
  }, []);
};
```
fnScope = childScope;
            break;
          }
        }
        if (fnScope == null) {
          return false;
        }
        
        
        for (i = 0; i < fnScope.through.length; i++) {
          const ref = fnScope.through[i];
          if (ref.resolved == null) {
            continue;
          }
          if (
            pureScopes.has(ref.resolved.scope) &&
            
            
            !memoizedIsStablecKnownHookValue(ref.resolved)
          ) {
            return false;
          }
        }
        
        
        return true;
      }
      
      const memoizedIsStablecKnownHookValue = memoizeWithWeakMap(
        isStableKnownHookValue,