簡體   English   中英

如何使Redux Thunk和Apollo GraphQL協同工作

[英]How to make Redux Thunk and Apollo GraphQL work together

在我的項目中, Redux Thunk用於將所有異步函數保留在動作創建器中。

現在我正在嘗試將Apollo GraphQL添加到我的項目中,除了將突變添加到我的功能組件並在那里調用它之外,一切都運行良好,它打破了redux thunk架構。

怎么解決? 我想我可以創建新的動作創建器方法並將突變傳遞給它們,但它很快就會變成樣板,而這對我來說似乎不是一個好的解決方案。

阿波羅突變不會破壞redux thunk架構。 如果您需要在突變后更新自己的Reducer,那么從thencatch突變中調度這些reducer的操作。 Apollo的graphql容器旨在取代異步redux中間件(thunk,sagas,epics),而不是破壞它。

對於Apollo Client 1.0

如果需要,您還可以將自己的Reducer連接到Apollo調度的相同操作(APOLLO_MUTATION_INIT,APOLLO_MUTATION_RESULT等)。 只需確保您的apollo商店與您自己的商店集成。 請參閱http://dev.apollodata.com/react/redux.html

更新:遷移到Apollo Client 2.0

Apollo Client 2.0刪除了使用redux作為緩存(存儲)的依賴性。 如果您仍希望能夠在Reducer中使用1.0樣式操作,則可以使用此鏈接https://www.npmjs.com/package/apollo-link-redux (自述文件中的示例用法)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM