我试图了解装饰器如何与 Meteor 1.4 一起使用。根据我的阅读,支持此功能。
现在,我不确定如何实际实施它。从这个博客,为了装饰一个类,我需要这段代码
export const TestDecorator = (target) => {
let _componentWillMount = target.componentWillMount;
target.componentWillMount = function () {
console.log("*** COMPONENT WILL MOUNT");
_componentWillMount.call(this, ...arguments);
}
return target;
}
然后将其用作
import React, { Component } from 'react';
import { TestDecorator } from 'path/to/decorator.js';
@TestDecorator
export default class FooWidget extends Component {
//...
}
代码编译,但在渲染组件时没有任何输出。
我错过了什么?如何在 Meteor 中实现装饰器?这是正确的解决方案吗?什么是替代方案?
编辑
这个我试过了,还是不行
export const TestDecorator = (target) => {
console.log("*** THIS IS NOT EVEN DISPLAYED! ***");
target.prototype.componentWillMount = function () {
// ...
};
}