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 />);
  }, []);
};
```
node,
      declaredDependenciesNode,
      reactiveHook,
      reactiveHookName,
      isEffect,
    ) {
      if (isEffect && node.async) {
        reportProblem({
          node: node,
          message:
            `Effect callbacks are synchronous to prevent race conditions. ` +
            `Put the async function inside:\n\n` +
            'useEffect(() => {\n' +
            '  async function fetchData() {\n' +
            '     You can await here\n' +
            '    const response = await MyAPI.getData(someId);\n' +
            '     ...\n' +
            '  }\n' +
            '  fetchData();\n' +
            `}, [someId]);  Or [] if effect doesn't need props or state\n\n` +
            'Learn more about data fetching with Hooks: https:reactjs.org/link/hooks-data-fetching',
        });
      }
      
      const scope = scopeManager.acquire(node);