如何判断一个function是否是函数式组件?-灵析社区

PunkMaccccc

如何判断一个function是否是函数式组件? 我们有如下的函数式组件代码: import React, { useEffect, useState } from 'react' import { Card } from 'antd'; const CPU = () => { const [aaa, setAaa] = useState('123') // 这行会报错 console.log(aaa) return ( Card content ) } export default CPU 但是当我运行的时候报错: Invalid hook call. Hooks can only be called inside of the body of a function component. ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241123/f8621d631fd7194e2c5c45e655ef8320.png) 这里说`Hooks can only be called inside of the body of a function component. `但是我这个就是一个函数式组件呀,请问如何进行判断是否是函数式组件呢? 注: 我的文件路径在: src/renderer/pages/localtools/machine/cpu.tsx 代码就是如上。没有看到有写错的地方呢,如何能判断我写的这个是函数式组件呢?

阅读量:18

点赞量:0

问AI
import React, { useEffect, useState } from 'react' import { Card } from 'antd'; const CPU = () => { const [aaa, setAaa] = useState('123') // 这行会报错 console.log(aaa) return ( Card content ) } export default CPU 这个代码确实是React的函数式组件,问题应该不是出在这个组件中。应该是工程中的其他地方错误的使用了"use**"钩子导致的,"React"的"Hook"只能在函数体中使用,并且不应该被"if"、"for"、"while"等结构体包裹。 建议题主通过逐步注释的方式排查问题