0106
0106 今日计划
每天工作前/前一天晚上 做好计划:重点工作、自我提升、其他,提交地址
重点工作
- 代码 Review,完善 ts 类型;
- 逻辑检查,代码优化,绩效填写;
今日总结
问题,原因,解决方式,优化,巧妙实现,新知识
- ts 类型问题:以前遇到过这种,形如在
setState({ key: value })
这种形式,定义了很多的stateKey, value
,但是修改的时候只修改其中一个,那么{ key: value }
该如何定义呢?
今天开发的场景也是类似的:
typescript
type IFilters = {
keyword: string;
status: number;
status2: number;
}
const onFiltersChange = (key: string, value: sting) = > {
// 里面的对象如何定义
onChange({ key: value })
}
// 但是搜索条件的变化只是上述 IFilters 中的其中一个变化了, { key: value } 类型如何定义?
// method-1,经测试此方法不可用;来源:https://www.zhihu.com/question/495318952/answer/2195647740 ts + react 中 动态的 setState 怎么写?
const onFiltersChange = (key: string, value: sting) = > {
onChange({ key: value } as Pick<IFilters, keyof IFilters>)
}
// method-2,测试后这个方式可以用
const onFiltersChange = (key: string, value: sting) = > {
onChange({ key: value } as Partial<IFilters>)
}
拓展:
如何定义 setState
?
tyepscript
const [value, setValue] = useState<string>("");
// const value: string
// const setValue: Dispatch<SetStateAction<string>>
相关资料:
- ts + react 中 动态的 setState 怎么写?
- react 动态设置 state 的值
- setstate-with-dynamic-key...
- how-can-i-define-typescript-type-for-a-setstate...
- Typing of React hooks in Typescript