我有一個包含 15 個子組件的巨大組件,每個子組件有 1/2 個查詢,其中一些有 1 或 2 個突變。
一些查詢在組件之間共享,但其中一些查詢特定于該組件。
現在我在一個單獨的檔案中有所有的突變 查詢,作為回傳查詢/突變的函式,以及所有的獲取函式。
我應該只將共享查詢保留在此檔案中嗎?并將特定的查詢/變更移動到每個組件檔案內的檔案中?
uj5u.com熱心網友回復:
就個人而言,我會將操作等保存在最接近它所使用或共享的組件的檔案中。原因是,如果當您決定移動或洗掉這些組件時,垃圾收集冗余代碼以及預先對代碼進行一般維護是非常容易的——您只需洗掉該檔案夾,并且知道它的依賴項從未在任何地方使用過除了組件內部的更深層次之外。
例子:
- /BlogPost/
- /components/
- /BlogPostSocialMedia/
- /index.jsx
- /index.jsx
假設上述結構 - 可以說我有一個名為的組件BlogPost,其中包含一個子組件BlogSocialMedia。
如果BlogSocialMedia有一個僅在該組件內使用的操作,我會把它放在/BlogSocialMedia目錄中的一個檔案中。也許/BlogPost/components/BlogSocialMedia/actions.js?
但是,如果BlogPost 和組件都使用了一個查詢或操作BlogPostSocial,我會把它放回一個目錄,在/BlogPost/actions.js
希望您能看到這如何使您的組件保持美觀和“打包”,并使其在將來更容易維護、移動和洗掉。另一種方法是,您發現自己只有一個檔案,就像您提到的那樣,這很難確定哪些代碼是陳舊的,哪些不是,而且如果需要,幾乎不可能四處移動。
最后一點:閱讀并理解 [單一職責][1] 的原則。擁有一個負責這么多不同操作的檔案遠非最佳選擇。
[1]: https://www.freecodecamp.org/news/solid-principles-single-responsibility-principle-explained/#:~:text=The Single Responsibility Principle (SRP,only one% 20reason to change".
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/533732.html
上一篇:打字稿:減少物件的物件
下一篇:集合參考必須有奇數個段
