我正在嘗試清理一些代碼以消除冗余,并對最佳實踐有一些疑問。為了簡單起見,假設我有 3 個 mobx 商店 、 和 。PeopleStorePlacesStoreAuthStore所有這些商店都使用 連接到第三方 API。fetch提供登錄功能,并具有以下屬性:AuthStore@observable apiToken其他商店中存在重復的邏輯,設置 api url、令牌等...我嘗試創建以下文件:// ./api.jsconst url = 'https://example.com'const options = { headers: { Authorization: ??? (how do I access AuthStore.apiToken) }}export const api = (endpoint) => { fetch(url + endpoint, options)}然后在PeopleStoreimport api from './api'class PeopleStore { getPeople() { api('/people'); }}(這只是概念的一個示例,而不是實際的代碼)我的問題是:這是一個好方法,還是有更好的方法可以做到這一點?如何進入內部?apiTokenapi.js我假設這只是一個函數而不是一個反應組件,這是否正確?api如果是這樣,我還能不能把?(我相信我遇到了這個問題)injectAuthStoreapi()我的另一個想法是將所有商店包裝在提供此功能的商店中,但再次(我假設)商店不是實際的 react 組件,這是否會導致任何問題?HOC
反應 - 暴民 - 獲取 - DRY 最佳實踐
繁星coding
2022-09-29 16:07:18