ReactJS useCallback不是反应函数?

问题描述 投票:0回答:1

我有一个使用钩子useCallback的功能组件。在过去的几天里,一切都很好。一切都按原样运作。今天我启动应用程序,我有这个错误:

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

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

我检查了我的反应版本,并在react-dom中找到了16.8.6。

有没有人有任何想法?

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;
    }, []);

  }
reactjs react-hooks
1个回答
2
投票

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

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

  1. loginPage不是一个组成部分。 useCallback是一个钩子,它需要在函数组件(不是类组件)或另一个钩子(名称以“use”开头的函数)中调用。看看rules of hooks
  2. 并且组件名称应以大写字母开头,因此它应该是LoginPage,因为它是一个有效的React组件。
  3. 您没有从组件返回任何内容。
© www.soinside.com 2019 - 2024. All rights reserved.