当前位置: 首页 > news >正文

服装公司网站建设策划书网件路由器app

服装公司网站建设策划书,网件路由器app,聊天网站备案,免费网站建设免代码文章目录 React Hook之钩子调用规则#xff08;不在循环、条件判断或者嵌套函数中调用#xff09;错误使用案例案例具体解决方法 React Hook之钩子调用规则#xff08;不在循环、条件判断或者嵌套函数中调用#xff09; hooks使用规则 只能在函数最外层调用 Hook。不要在… 文章目录 React Hook之钩子调用规则不在循环、条件判断或者嵌套函数中调用错误使用案例案例具体解决方法 React Hook之钩子调用规则不在循环、条件判断或者嵌套函数中调用 hooks使用规则 只能在函数最外层调用 Hook。不要在循环、条件判断或者子函数中调用。只能在 React 的函数组件中调用 Hook。不要在其他 JavaScript 函数中调用。还有一个地方可以调用 Hook —— 就是自定义的 Hook 中 错误使用案例 代码 const useCustomItemRender (originNode: React.ReactNode, file: CustomUploadFile) {const [editing, setEditing] useState(false);const [newName, setNewName] useState(file.name);const handleEdit () {setEditing(true);};const handleSave () {setEditing(false);handleEditDescription(file.uid, newName);};const render editing ? (divInputvalue{newName}onChange{(e) setNewName(e.target.value)}onPressEnter{handleSave}onBlur{handleSave}autoFocus//div) : (div onClick{handleEdit}{file.name}/div);return render;};const customItemRender: ItemRenderCustomUploadFile (originNode, file) {const render useCustomItemRender(originNode, file);return render;};报错 React Hook “useCustomItemRender” is called in function “customItemRender: ItemRender” that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word “use”. 报错解释 这个错误表明你在React函数组件中使用了名为useCustomItemRender的自定义钩子Hook而这个钩子的使用发生在一个内嵌函数customItemRender中。React的钩子Hooks只能在函数组件的主体或者其他钩子中调用而不能在嵌套函数或者控制流逻辑中调用。这个规则被称为“钩子调用规则”。 解决方法 确保useCustomItemRender只在组件的主体中调用一次。如果customItemRender是一个独立的函数你应该将useCustomItemRender的调用移到customItemRender函数外部确保它不会在customItemRender内部被调用。如果customItemRender是一个React组件那么应该将useCustomItemRender的调用保持在该组件的主体中。 // 不正确的使用方式 function MyComponent() {function customItemRender() {const [value, setValue] useCustomItemRender(); // 错误在内嵌函数中调用钩子// ...}// ... }// 正确的使用方式 function MyComponent() {const [value, setValue] useCustomItemRender(); // 正确在组件主体中调用钩子function customItemRender() {// 使用value和setValue// ...}// ... }如果useCustomItemRender是一个自定义的钩子它应该遵循React的钩子调用规则即不在循环、条件判断或者嵌套函数中调用。如果需要在多个地方复用状态逻辑可以考虑使用自定义组件或高阶组件。 总结在内嵌函数 customItemRender 中调用了自定义的钩子 useCustomItemRender而 React 钩子Hooks只能在函数组件的主体或其他钩子中调用不能在嵌套函数中调用。 案例具体解决方法 为了解决这个问题我们需要将 customItemRender 函数转换为一个自定义的 React 组件以便在组件主体中调用钩子。 const CustomItemRender: React.FC{ originNode: React.ReactNode, file: CustomUploadFile } ({ originNode, file }) {const render useCustomItemRender(originNode, file);return render;};const customItemRender: ItemRenderCustomUploadFile (originNode, file) {const render CustomItemRender originNode{originNode} file{file} /;return render;};这段代码定义了一个名为 CustomItemRender 的组件并将其用作 customItemRender 函数的返回值。 通过将 customItemRender 函数转换为一个自定义的 React 组件 CustomItemRender我们可以在组件主体中调用钩子。
http://www.zqtcl.cn/news/982443/

相关文章:

  • 网上学习网站有哪些厦门城乡建设局网站
  • 怎样创建网站快捷方式个人制作一个网站的费用
  • 恒信在线做彩票的是什么样的网站软件开发流程管理
  • 网站服务器地址在哪里看艺术学校网站模板
  • 郑州中心站网站建设价格标准新闻
  • 电子商务网站管理互联网营销师主要做什么
  • 门户网站指的是什么凯里网络公司建设网站
  • 网站接入服务商查询0建设营销型网站步骤
  • 长沙如何做百度的网站小型网站建设实训教程
  • 昆明网络公司网站网站建设经费请示
  • 手机端网站欣赏wordpress 文章rss
  • 做网站一定要实名认证吗国外免费空间网站申请
  • 阿里云网站空间主机长春网站建设设计
  • 龙华网站建设yihekj长沙招聘网站制作
  • 网站怎么做文本跳出来网络规划设计师有用吗
  • 室内设计网站官网大全中国那些企业做网站做得好
  • 状态管理名词解释网站开发网络营销推广方案案例
  • 做网站需要几大模板河南中国建设信息网
  • 成都温江网站建设空间网页版
  • 做美股的数据网站邢台网站建设公司哪家好一点
  • 青岛即墨网站开发查询建设用地规划许可证在哪个网站
  • 成都APP,微网站开发芜湖企业100强
  • 江门搜索引擎网站推广网约车多少钱一辆
  • 北京高端网站建设宣传请人做软件开发的网站
  • h网站建设长沙本地公众号
  • 苏州工业园区劳动局网站做不了合同建域名做网站
  • 内蒙古建设兵团网站组建网站开发团队
  • 劳务派遣做网站的好处广州最新新闻事件
  • 海兴网站建设公司网站建设原则
  • 网站建设完不管了自己怎么接手wordpress个人主页