使用带有Relay容器的装饰器

时间:2016-01-06 22:45:19

标签: javascript reactjs relayjs ecmascript-next

我正在尝试使用装饰器来简化创建Relay容器,就像在这个要点中一样:https://gist.github.com/miracle2k/f39aaaccbc0d287b2ddb

不幸的是,它无效并且错误地使用Invariant Violation: RelayQueryNode: Abstract class cannot be instantiated.

我的代码没什么特别有趣或奇怪的。类似于:

function relayDecorator(component) {
  return createContainer(component, { fragments: component.fragments })
}

@relayDecorator
class Component extends React.Component {
  static fragments = {
    viewer: () => Relay.QL`
      fragment on Viewer {
        email
      }
    }
  `
}

有谁知道为什么会这样?我试图调试一段时间,但无法使其正常工作。

如果我在装饰器函数之外单独创建容器,它就可以正常工作。

编辑:这与装饰工作无关。我有装饰工作适合其他事情,这是一个接力问题。

0 个答案:

没有答案