试图找出使用ES6类做这样的事情的语法:
function Component() {
}
Component.prototype.render = style(function() {
});
这是我到目前为止所做的:
class Component {
constructor() {
super()
}
render style(() {
});
}
有什么想法吗?
答案 0 :(得分:6)
由于class
只是语法糖,所以这应该有效:
class Component {
constructor() {
super()
}
}
Component.prototype.render = style(function() {
});
答案 1 :(得分:2)
here是torazaburo已经向您展示的内容http://www.es6fiddle.net/i67l1pjr/。
var style=function(fun){
// do something with fun
return fun
}
class Component {
constructor() {
super()
}
}
Component.prototype.render = style(function() {
console.log('i am invoked');
});
var x=new Component;
x.render();
我假设你的样式函数就像我定义的那样,现在在这种情况下,你可以使用旧方法定义方法轻松实现所需的结果(创建另一个函数返回的函数)。
使用ES-6语法
现在我们知道es6 classess只是语法糖,我们必须能够像以前一样使用类来实现一切。
看到这个。 http://www.es6fiddle.net/i67l1d4e/
var style=function(fun){
// do something with fun
return fun
}
class Component {
constructor() {
super()
}
render (){ // this is the new render function, you wanted to define
var fun =style(function() {
console.log('i am invoked');
});
return new fun();
}
}
var x=new Component;
x.render();
现在这两种方式都做同样的事情......它只是ES-6添加的不同语法