我将 redux-orm 与 JS 一起使用,一切正常,但我在将我的代码从 JS 转换为 TypeScript 时遇到问题。
我已经在我的文件夹模型类中实现了方法 render(),但是 TS 转译器说:
类型“文件夹”上不存在属性“名称”
我如何指示 TypeScript name 属性存在于 Folder 实例中?
interface IFolder{
id: number;
name: string;
parent: any;
}
export class Folder extends Model<ModelFields, IFolder>{
static get modelName() {
return 'Folder';
}
get render(){
return (<p>{this.name}</p>)
}
static get fields() {
return {
id: attr(),
name: attr(),
parent: fk('Folder', 'children')
};
}
}
最佳答案
你可以在class Folder
中重复所有的IFolder
export class Folder extends Model<ModelFields, IFolder> implements IFolder {
id: number;
name: string;
parent: any;
...
或者使用这个技巧来不重复代码:
class IFolder extends Model<ModelFields, IFolder> {
id: number;
name: string;
parent: any;
}
export class Folder extends IFolder {
关于reactjs - 使用 redux-orm 和 TypeScript 的模态类定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56533245/