找到了 styled-components 作为后续项目的 css 组件化方案。这里记录一下使用过程中,关于配合 typescript 使用遇到的一些问题。

主题 theme interface

因为默认的 theme interface 是 any,有些时候不方便。可以参考官方文档,自行对 theme 的 interface 做定义。
https://www.styled-components.com/docs/api#typescript

自定义 props 处理

默认的 styled.xxx 并没有泛型去指定组件的 props,目前在 styled-components/styled-components#630 提供了很多方法。

PS. 目前最新版本的 Typescript 2.9.1 已经支持模板字符串参数类型的声明了,但是使用的时候 jetbrains 的 插件无法识别高亮。