2016-10-26 40 views
2

我有這個休息的應用程序,獲取數據就是這樣,用的thunk +承諾中間件的終極版:將redux客戶端從REST轉換爲GraphQL Apollo?

export const fetchVenues =() => ({ 
    type: 'FETCH_VENUES', 
    payload: axios.get('http://localhost:3000/mock/venues'), 
}); 

的數據來自該進入商店和組件從那裏使用所取得的數據。

我可以換一個graphql查詢或東西「有效載荷」其餘的要求嗎?

什麼讓我困惑的是,終極版說:「數據住在店裏,只能通過行動來改變」,但阿波羅直接將數據綁定到組件。 我已經制作了一個GraphQL API,在graphiql devtool中很好用,但是在閱讀this article之後,我在客戶端處理它的方式時感到有點困惑。

回答

3

我的理解是,在內部,阿波羅採用終極版。基本上,它使您可以將查詢與組件配置在一起,並注入(連接)作爲道具的相關數據+功能。它還通過在請求完成時更新緩存/存儲來爲您管理商店。

你可以看到,ApolloProvider是類固醇終極版提供:https://github.com/apollostack/react-apollo/blob/01425b3df5f05e7f389b36f3385433c89a39977b/src/ApolloProvider.tsx

我希望這有助於你理解了一點。