所以我们目前正在将我们的 React 项目迁移到 Typescript。
我们使用 styled-components 和 styled-system 来设置应用程序的样式和主题。
样式系统要求您在样式组件上使用“对象语法”,以允许使用变体和其他样式系统特定的主题选项。样式系统变体
我遇到了两个问题,我似乎无法找到合适的解决方案:
- 我尝试输入主题,但在组件中使用主题道具时似乎无法返回正确的类型。我有点想避免在每个组件中都使用主题类型——这可能吗?
- 当我使用“普通”字符串模板语法时,TS 似乎对“theme”为“any”感到满意,但当与“object-syntax”一起使用时,TS 会抛出错误,称主题明确为“any”
我创建了一个最小的代码框来演示这个问题:
https://codesandbox.io/s/boring-silence-3qxjn?file=/src/App.tsx