2016-06-27 28 views
1

我想從僅從中繼請求到GraphQL Server查詢沒有碎片。 例如與鏈接簡單的繼電器應用:https://facebook.github.io/relay/prototyping/playground.html#/,這一直張貼到GraphQL服務器查詢inculde片段那樣:向沒有碎片的查詢請求GraphQL

query GreetingsQuery { 
    greetingsSchema { 
     ...F0 
    } 
} 
fragment F0 on GreetingsQL { 
    hello 
} 

但我只是想發佈一個單獨的查詢,而無需任何片段中,類似的東西:

query UserQuery { 
    users() { 
     id 
     name 
    }, 
} 

任何解決方案呢?

回答

0

您可以在您的中繼用戶查詢中內聯整個查詢。不需要碎片。如果您沒有查詢參數,請確保您沒有空括號。

+0

你能告訴我更清楚嗎?通過我所瞭解的有關Container的容器,Container始終使用片段聲明組件的數據要求,如下所示: 'module.exports = Relay.createContainer(Container-name,{ fragments:{ user: => Relay.QL' .... ', }, }); ' 任何方式來在組件或容器中創建查詢而不使用片段? –

+0

是的,所以你在技術上不需要創建任何碎片。您可以將其保留爲中繼容器中的空白對象字面值。只要你的用戶查詢定義了整個查詢,你應該沒問題。換句話說,你不需要用'$ {Component.getFragment('F0')}''動態地從容器中動態地提取這些片段。將硬編碼的片段替換爲正確的行。 – vince