Reactjs 为什么React认为我';我没有调用“useState”;在功能组件的主体内部;?
我在Typescript中有一个React应用程序,我试图在一个部分中使用Reactjs 为什么React认为我';我没有调用“useState”;在功能组件的主体内部;?,reactjs,Reactjs,我在Typescript中有一个React应用程序,我试图在一个部分中使用useState钩子,结果遇到了麻烦。我已将代码简化为以下最小示例: projects loader.tsx: 从“React”导入React; 从“react dom”导入{render}; 从“/components/MoreProjectsTable”导入MoreProjectsTable; 导出常量项目=():void=>{ const moreProjectsRootEl=document.getElementB
useState
钩子,结果遇到了麻烦。我已将代码简化为以下最小示例:
projects loader.tsx
:
从“React”导入React;
从“react dom”导入{render};
从“/components/MoreProjectsTable”导入MoreProjectsTable;
导出常量项目=():void=>{
const moreProjectsRootEl=document.getElementById(
“响应更多项目表根”
);
渲染(,moreProjectsRootEl);
};
导出默认项目;
MoreProjectsTable.tsx
:
import React,{ReactElement,useState}来自“React”;
从“/MoreProjectsRow”导入MoreProjectsRow;
常量MoreProjectsTable=():ReactElement=>{
useState();
返回();
};
出口违约率稳定;
但是当我调用projects()
时,它失败了,错误是“Hooks只能在函数组件的主体内部调用”
我从研究中了解到,这一错误有三个常见原因:
useState
,好吧
关于#2,我验证了React和React DOM都是v16.8.1
关于#3,我通过上面描述的方法验证了情况并非如此
有人能给我提些别的建议吗?我是个新手,所以没有什么建议是显而易见的。在我发布这个问题一分钟后,一位同事发现了这个问题。这个应用程序运行在一个网页上,我没有注意到它,而是从两个不同的地方加载顶级脚本本身。显然,这是场景3的一个变体。我不知道答案,但我的直觉是,可能这些类型不兼容。考虑尝试<代码> const多项目稳定:Realth.Fuffic组件=()= {< /代码>