所以基本上我有这段代码:
Array.prototype.inState = function (needle, haystack) {
let index = this.findIndex(value => value[needle] === haystack);
return index === -1;
};
Run Code Online (Sandbox Code Playgroud)
并且可以相当有效地检查给定的针是否处于反应状态。但是ESlint一直说:
Array prototype is read only, properties should not be added no-extend-native
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:我的代码有什么问题?
我对反应和打字稿都很陌生。在 PHP 世界中,建议在它们自己的单独文件中声明所有类、接口、抽象和...,这也是 SOLID 原则中推荐的。
所以我想知道我应该为我的每个有状态组件声明 propsInterface 和 stateInterface 还是可以在同一个文件中声明它们。所以我的问题是:
1:哪一种是 js/typescript 中的首选方式
2:是否为每个有状态的组件声明至少两个接口(道具和状态)会降低性能,或者这并不重要,因为编译的 js文件不包含那些接口?
我真的很困惑