我有一个使用 Hook useCallback 的功能组件。在过去的几天里,一切都很好。一切正常。今天我启动应用程序,但出现此错误:
React Hook "useCallback" is called in function "loginPage" which is neither a React function component or a custom React Hook function
这没有意义,因为它一直很好。为了调试,我简单地删除了页面上的所有代码,除了一个男女同校的代码,甚至只是在它的位置放置了一个 useCallback 模板,但仍然是一样的。就好像它已经完全从 React 中移除了。
我检查了我的 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
loginPage
不是组件。useCallback
是一个钩子(Hook),它需要在函数组件(不是类组件)或另一个钩子(Hook)(名称以“use”开头的函数)中调用。查看rules of hooks .- 组件名称也应以大写字母开头,因此它应该是
LoginPage
才能成为有效的 React 组件。 - 您没有从您的组件返回任何东西。
关于ReactJS useCallback 不是 react 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55861169/