背景:在React中,我们可以将名为Redux的键值存储的分区映射到组件类的属性上。这是由一个函数完成的,我们将它传递给一个所谓的connect函数,然后将它们神奇地连接在一起。问题是,这会导致我的品味太多不必要的样板,所以我希望有一个自动完成的抽象。
问题:我想使用以下类动态创建mapStateToProps
函数:
class Props {
counterModel:CounterModel = null;
}
function mapStateToProps({counterModel}:Props) {
return {
counterModel
};
}
在Vanilla JS中,mapStateToProps
函数如下所示:
function mapStateToProps(_a) {
var counterModel = _a.counterModel;
return {
counterModel: counterModel
};
}
看起来可以将Function
构造函数(请参阅here)与Object.keys
结合使用来解决此问题。但是文档说这“遭受了类似于eval的安全性和性能问题”。这对我来说是可以接受的权衡,但也许有更好的解决方案?
我的JS功夫不足以提出更好的解决方案。还有一个吗?
答案 0 :(得分:2)
如果您所在州的媒体资源的名称与您的组件的道具名称相同,则可以使用arrow function
,destructing
和shorthand object literal
获得更少的代码:
var mapStateToProps = ({counterModel, anotherProp}:Props) => ({counterModel, anotherProp}));