You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已声明clientdepositmoney却提示未使用的ESLint报错求助

排查ESLint 'no-unused-vars'报错原因及解决方法

报错原因

React的组件命名规则强制要求自定义组件必须以大写字母开头。你声明的变量clientdepositmoney是小写开头,在JSX中<clientdepositmoney />会被解析为普通HTML标签,而非你定义的React组件。ESLint无法识别这种“无效使用”,因此判定该变量未被实际使用,触发no-unused-vars报错。

解决方法

将组件变量名改为大写开头,同时同步修改JSX中的引用:

修改后的代码示例

// render - sample page
const ContactUS = Loadable(lazy(() => import('pages/contact-us')));
// 变量名改为大写开头
const ClientDepositMoney = Loadable(lazy(() => import('pages/apps/invoice/deposit')));
const UserGuides = Loadable(lazy(() => import('pages/Documentations/client-guide')));

{
  path: 'invoice',
  children: [
    {
      path: 'deposit',
      // JSX中同步使用大写开头的组件名
      element: <ClientDepositMoney />
    },
    {
      path: 'dashboard',
      element: <AppInvoiceDashboard />
    },
    {
      path: 'create',
      element: <AppInvoiceCreate />
    },
    {
      path: 'details/:id',
      element: <AppInvoiceDetails />
    },
  ]
}

补充说明

这是React的核心约定之一:小写开头的元素会被识别为原生DOM标签(如<div>、<p>),只有大写开头的标识符才会被视为自定义React组件。修改后不仅能消除ESLint报错,组件也能正常渲染。


内容的提问来源于stack exchange,提问作者user3513923

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:54:59