Skip to content

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>>

相关资料:


Released under the MIT License.