已导入useEffect仍提示‘useEffect is not defined’问题求助
问题排查与解决
你的代码存在语法错误,导致JS引擎解析异常,进而抛出useEffect is not defined的错误,具体问题如下:
- 组件函数
Bjd的闭合大括号缺失,导致export default Bjd被包含在了函数内部,破坏了代码的语法结构。JS引擎无法正确识别组件函数的范围,连带影响了useEffect的正常识别。
修复后的代码如下:
import React, { useState, useEffect } from 'react' import "./MainPage.css" import { Link } from "react-router-dom"; import { useSelector } from 'react-redux' const Bjd = () => { const [title, setTitle] = useState('') const [desc, setDesc] = useState('') const [image, setImage] = useState(undefined) const [data, setData] = useState({}) const role = useSelector((state) => state.auth.role) useEffect(() => { fetch("http://localhost:3000/request") .then(response => response.json()) .then(data => setData(data)) }, []) } // 补上缺失的组件函数闭合大括号 export default Bjd
额外检查项
- 确保你的React版本支持Hooks(React 16.8及以上),版本过低会导致Hooks无法正常使用。
- 检查编辑器是否有缓存,尝试重启开发服务器或清除缓存后重新编译。
内容的提问来源于stack exchange,提问作者alexbush
相关产品推荐
相关产品推荐

