personId的类型问题

来源:7-2 用高级 Hook-useAsync统一处理Loading和Error状态

三月源

2021-10-25

在 project-list 的 index 文件中
我们使用的 param 以及 debounceParampersonId 都是 string 类型

  const [param, setParam] = useState({
    name: '',
    personId: '' // 空字符串 string类型
  })
  const debounceParam = useDebounce(param, 200)
  // dobounceParam 的 personId 应该也是 string 

但是在 useProjects 的入参中 使用了 Partial<Project> Project 的 personId 是number类型

export const useProjects = (param?: Partial<Project>) => {
}

export interface Project {
  id: number;
  name: string;
  personId: number;
  pin: boolean;
  organization: string;
  created: number;
}

当使用 debounceParam 作为 useProjects 的入参应该是会报错的把,但是老师的视频里可以正常运行?

const { data: list, isLoading, error } = useProjects(debounceParam)
写回答

1回答

慕斯卡4288813

2022-05-23

请问你解决了吗?我也遇到了相同的问题。项目都写不下去了。

0
1
_张敏258zm_
可以兼容一下 personId: number | string
2022-07-19
共1条回复

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程