Я не слишком уверен, один правильный термин для использования TypeScript.Но я чувствую, что повторяюсь и хотел бы лучше шаблонизировать свой интерфейс, чтобы не было путаницы.
У меня есть type
, который в основном представляет собой список потенциальных строк.Затем я использовал эти строки в ключах для моего interface
.
Это мой файл:
import { IErrorResponse } from '~/interfaces'
export type PRODUCT_ACTION_KEYS =
| 'creatingProducts'
| 'fetchingCategories'
| 'fetchingProduct'
| 'fetchingProducts'
export interface IProductsReducer {
categories: any[]
error: {
creatingProduct?: IErrorResponse
fetchingCategories?: IErrorResponse
fetchingProduct?: IErrorResponse
fetchingProducts?: IErrorResponse
}
is: {
creatingProduct: boolean
fetchingCategories: boolean
fetchingProduct: boolean
fetchingProducts: boolean
}
products: any[]
selectedProduct?: any
}
Я бы хотел получить что-то вроде этого:
import { IErrorResponse } from '~/interfaces'
export type PRODUCT_ACTION_KEYS =
| 'creatingProducts'
| 'fetchingCategories'
| 'fetchingProduct'
| 'fetchingProducts'
export interface IProductsReducer {
categories: any[]
error: {
[PRODUCT_ACTION_KEYS]?: IErrorResponse
}
is: {
[PRODUCT_ACTION_KEYS]: boolean
}
products: any[]
selectedProduct?: any
}
Было бы что-то подобное в TypeScript достижимо?
Спасибо!