ReactJS useCallback 不是 react 的功能?

标签 reactjs react-hooks

我有一个使用 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

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

关于ReactJS useCallback 不是 react 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55861169/

相关文章:

javascript - 将视频流 JavaScript 代码传输到 React (ML5)

javascript - ReactJs动态html,将值绑定(bind)到子类

javascript - 清除输入框在某些条件下的 react

javascript - React.js onChange 让 parent 知道改变的状态

javascript - 已内存组件的子组件是否也已内存?

reactjs - 为什么 React 钩子(Hook)以这种方式命名为 useXXX?

reactjs - 模态组件在打开时呈现两次

reactjs - 未捕获的 DOMException : Failed to execute 'pushState' on 'History' : function () { [native code] } could not be cloned

javascript - 将值从一种模式传递到另一种模式

javascript - 将基于类的组件重构为功能组件