1

UserListWidget次のコンテナ定義を持つコンポーネントがあります。

fragments: {
  users: () => Relay.QL`
    fragment on User @relay(plural: true) {
        id
        displayName
    }
  `
}

ユーザーの接続をプレーンなリストとしてレンダリングする必要がある親コンポーネントもあります。ただし、次の場合は機能しません。

<UserListWidget users={userConnection.edges.map(edge => edge.node)} />

エラーで失敗します:

Invariant Violation: RelayContainer: Invalid prop `users` supplied to `UserListWidget`, expected element at index 0 to have query data.

UserListWidgetユーザーの単純なリストの代わりに userConnection を受け入れるように変更することはオプションではありません。これは汎用コンポーネントであり、他の親コンポーネントは接続ではなくユーザーのリストのみを提供するためです。

だから、どういうわけか接続をノードの単純なリストとして扱う方法があるはずだと思いますか?

4

1 に答える 1

2

このエラーは、親コンポーネントに子フラグメントが含まれていない場合に発生する可能性があります。親には が含まれていuserConnection(...) { edges { node { ${UserListWidget.getFragment('users')} } } }ますか?

于 2015-11-23T18:01:33.863 に答える