2015-11-23 80 views
1

有一個部件UserListWidget與以下容器定義:如何將RelayJS連接轉換爲普通數組?

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,而不是用戶的普通列表是不是一種選擇,因爲它是一個通用組件等父組件將僅提供用戶列表,而不提供連接。

所以我想應該有辦法將連接視爲純粹的節點列表?

回答

2

如果父組件不包含子片段,則會發生此錯誤。父母是否包含userConnection(...) { edges { node { ${UserListWidget.getFragment('users')} } } }

+0

我沒意識到你可以用複數的片段做到這一點。但它的工作,謝謝! –

相關問題