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

React+TypeScript报错:找不到Dispatch和SetStateAction类型如何解决?

修复TypeScript中Dispatch和SetStateAction未找到的错误

问题原因

Dispatch和SetStateAction是React提供的TypeScript类型,你未从React模块中导入它们,导致TypeScript无法识别这两个类型。此外你的子组件还存在props参数与类型定义不匹配的问题,需要一并修正。

修复步骤

1. 导入缺失的类型

在JobMenubar.tsx顶部从React导入Dispatch和SetStateAction:

import { Dispatch, SetStateAction } from 'react';

2. 统一props类型与解构参数

你的Props类型定义的是jobs和setJobs,但子组件解构的是filteredJobs和setFilteredJobs,两者不匹配,需要统一名称;同时把never[]改成和父组件一致的string[]:

// JobMenubar.tsx
import { Dispatch, SetStateAction } from 'react';

type Props = {
  jobs: string[]
  setJobs: Dispatch<SetStateAction<string[]>>
}

export default function JobMenubar({ jobs, setJobs } : Props) {
  return (
    // ... 组件内容
  )
}

3. 优化父组件初始状态类型(可选)

父组件中useState([])默认推断为never[],显式指定类型能让代码类型更清晰:

// page.tsx
import { useState } from 'react';

export default function Page() {
  const [jobs, setJobs] = useState<string[]>([]);

  return (
    <JobMenubar jobs={jobs} setJobs={setJobs} />
  )
}

以上操作即可解决两个类型未找到的错误,同时修正props不匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:59:56