ReactJS useCallback 不是 react 的函数



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

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

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

我检查了我的反应版本,发现 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;
    }, []);
  }

我看到三个问题为什么会发生错误。

它既不是 React 函数组件也不是自定义 React Hook 函数

  1. loginPage不是组件。 useCallback是一个钩子,需要在函数组件(不是类组件(或另一个钩子(名称以"use"开头的函数(中调用。查看钩子的规则。
  2. 此外,组件名称应该以大写字母开头,因此应该LoginPage它是否是有效的 React 组件。
  3. 您不会从组件返回任何内容。

相关内容

  • 没有找到相关文章

最新更新