类方法是否可以在 ES 6 或 7 中声明为引用
Can class methods be declared as a reference in ES 6 or 7?
我试图从react-redux-universal-hot-example
中掌握这段代码(我的上帝,看看我们走了多远!
无论如何。。
他们为一个类声明了 2 个静态方法,作为对 2 个函数参数的引用。
export default function connectData(fetchData, fetchDataDeferred) {
return function wrapWithFetchData(WrappedComponent) {
class ConnectData extends Component {
static fetchData = fetchData;
static fetchDataDeferred = fetchDataDeferred;
render() {
return <WrappedComponent {...this.props} />;
}
}
return ConnectData;
};
}
关键是..这行得通...但是 ES6 或 ES7 是否支持它?你能实现一个类成员作为你作为参数接收的东西的引用吗?
根据
ClassElement
的语法,它不是有效的ES6,并且在尝试ES6 REPL时失败:
const method = () => {};
class Example { static _method = method; }
//=> Unexpected token (2:31)
。但建议用于 ES7+,这可能是 babel 插件实现的功能。
为什么不呢?本质上,他们返回以下内容:
return {
fetchData : fetchData,
fetchDataDeferred : fetchDataDeferred,
render : function() {...},
__proto__ : Component
};
不完全是,但从概念上讲,它足够接近......
相关文章:
- DOJO 引用错误:未定义声明
- 如何在使用声明式 Dojo 时获取对象引用
- 从外部文件在打字稿中声明变量得到引用错误:..未定义
- 在 JavaScript 中,在声明对象的新键:值对时,引用对象的变量名与使用“this”之间是否存在差异
- 内部对象如何在声明时引用其父对象的对象
- 类方法是否可以在 ES 6 或 7 中声明为引用
- 在控制器中声明的变量,带有“var”,但在控制器中引用为范围
- 声明新变量或在函数中使用引用
- 引用错误,用于使用 let 检查延迟声明的变量
- 对象引用在变量声明之外持久化
- 如何避免 jshint 说 const 在声明之前在函数中被引用时是未定义的
- 在Javascript中声明一个对象上的方法时,如何正确引用该对象上的一个方法集
- 声明javascript对象时在其变量中引用该对象
- jQuery/Javascript:如何让匿名函数引用外部声明的变量
- 当声明为peerDependency时,_ (lodash)的引用错误
- 引用错误变量未声明
- 函数引用和“内联”;函数声明
- 在声明期间引用对象属性
- JavaScript函数声明是否返回对函数的引用
- Javascript -在声明异步函数时使用变量的值(直接使用,而不是通过引用)