ReactJS useCallback 不是反应的功能?

ReactJS useCallback not a function of react?

我有一个使用钩子 useCallback 的功能组件。在过去的几天里,一切都很好。一切正常。今天我启动应用程序,但出现此错误:

React Hook "useCallback" is called in function "loginPage" which is neither a React function component or a custom React Hook function

这没有意义,因为它一直很好。为了调试,我简单地删除了页面上的所有代码,除了一个男女同校的代码,甚至只是在它的位置放置了一个 useCallback 模板,但仍然是一样的。就好像它已经完全从反应中移除了。

我查看了我的react版本,发现16.8.6也在react-dom.

有没有人有什么想法?

import React, {Fragment,useCallback } from 'react';
import { Redirect} from 'react-router-dom';
import {useDropzone} from 'react-dropzone';

const loginPage = (props) => {

    const callbackFunction = useCallback(() => {
        console.log("callback called");
        // Do something with callbackCount ...
        return true;
    }, []);

  }

我看到三个问题导致错误发生。

which is neither a React function component or a custom React Hook function

  1. loginPage 不是组件。 useCallback 是一个钩子,需要在函数组件(不是 class 组件)或另一个钩子(名称以 "use" 开头的函数)中调用。查看 rules of hooks
  2. 而且组件名称应该以大写字母开头,所以它应该是 LoginPage 才能成为一个有效的 React 组件。
  3. 您没有从您的组件返回任何东西。