作者回复: 这是因为TypesScript无法识别非代码资源。
解决方案,在根目录下添加 types/custom.d.ts:
declare module "*.svg" {
const content: any;
export default content;
}
其他资源类似,参见 https://webpack.js.org/guides/typescript/#importing-other-assets
作者回复: static defaultProps: Greeting = {
firstName: "",
lastName: ""
}
这样定义 defaultProps 的类型会报错,因为 Greeting 接口里还有一个 name 属性。
不用泛型变量,this.props 的类型无法确定,在类的内部只能使用类型断言来访问属性:
(this.props as Greeting).name
这样很麻烦,而 React 声明文件把这些约束关系都用泛型定义好了。
作者回复: 此处讲错了,应该是 React.SFC 被废弃了,这个表示无状态组件,会与函数组件混淆