首页 > 解决方案 > 带有自定义反应钩子的打字稿

问题描述

尝试在 TypeScript 中编写一个自定义反应钩子,该钩子接受一个具有所有可选 React.CSSProperties 作为键的对象,就像这样......

const something = useSomthing({
  color: {
    initial: 'red',
    new: 'blue'
  }
})

我可以以一种我将在 IDE 自动完成中获得所有 css 属性的方式编写它吗?

标签: javascriptreactjstypescriptreact-hookstypescript-typings

解决方案


您可以在此处keyof使用和阅读更多信息

type Config = {
  [key in keyof React.CSSProperties]?: {
    initial: React.CSSProperties[key];
    new: React.CSSProperties[key];
  }
};

const useSomething = (config:Config)=>{
   ...
}

推荐阅读