1

我正在尝试使用装饰器来简化创建中继容器的过程,如下所示: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
      }
    }
  `
}

有谁知道为什么会这样?我已经尝试调试了一段时间,但无法正常工作。

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

编辑:这与装饰器不工作无关。我的装饰器在其他方面工作得很好,这是一个中继问题。

4

0 回答 0