3

我试图了解装饰器如何与 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 () {
     // ...
  };
}
4

1 回答 1

2
于 2016-08-01T09:44:46.963 回答