[英]React-Apollo-GraphQL Generic Queries and Mutations
這個問題更多的是關於設計。 在我的繁重應用程序中,想要實現通用突變和查詢操作。 我的第一個想法是實現一個 function 將所有查詢或突變封裝在一個地方。 像這樣:
function query(props) {
const Query = require('dynamic/query/based/on/props.path.gql');
const { data, loading, ...} = useQuery(Query, ...);
return { data, loading, ... };
}
然后使用它
import Query form './query';
function SomeMainFunction(props) {
cont { data, loading, ...} = Query(props);
return data.map(...);
}
(與突變類似)在我看來,即使使用React.memo
也會導致不必要的重新渲染。 第二種方法是利用useContext
。 但在這種情況下,我真的不知道如何處理網絡狀態。 意味着先loading
true
然后再加載false
。 還是useQuery
會在數據到達后通過重新渲染組件來處理這個問題?
當然,第三種解決方案是直接在函數/組件中實現這個邏輯。 由於代碼拆分,我不想要的東西。
我最終使用了上述設計並正確使用了memo
,它解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.