MM們
2023-04-27 16:57:21
我正在嘗試使用 Typescript(和 React/Redux)構建我的第一個項目,并努力在多個文件之間傳遞我的自定義類型:比如讓我的動作類型可供動作創建者、reducer 和每個組件調度其中一些動作。那么,這里的正確方法是什么:在公共文件中聲明所有自定義類型并在必要時導入?在相關文件中聲明自定義類型并制作導入/導出網絡?我還沒有想到的其他選擇?我知道這個問題可能會因為自以為是而被關閉,但我在 typescriptlang.org 和其他資源(包括 SO 主題)中都找不到答案。
2 回答

呼如林
TA貢獻1798條經驗 獲得超3個贊
我通常根據它們是更全球化還是更本地化來拆分我的類型。例如,如果我有一些僅在單個模塊或文件中使用的類型,我將傾向于將這些類型存儲在與實現相同的位置:
/components
/Search
/Search.tsx
/search.types.ts <- contains component types like props
/SearchContainer.tsx
對于更多的全局類型,我有一個單獨的/types文件夾,通常位于根級別,我將其拆分為單獨的名稱空間。
/types
/search
/authentication
/actions
/routing
您在此types目錄中存儲的內容將特定于您的應用程序,但您了解總體思路。您還可以使用別名來導入類型,這樣您就不必處理許多級別的相對導入:../../../types/something=>@types/something

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
將所有類型放入一個模塊中并調用filename.d.ts
//filename.d.ts
declare module "my-module"{
export type int = number;
{
如果你想使用枚舉將它放在.ts文件中(不是d.ts)
添加回答
舉報
0/150
提交
取消