Yêu cầu thg 5 23, 2024 2:26 SA 78 0 1
  • 78 0 1
0

typeof array[number][key] not return const

Chia sẻ
  • 78 0 1
// Code 1
const CuisineTypeOptions: { label: string; value: string }[] = [
  { label: 'Traditional', value: 'traditional' },
  { label: 'Typical', value: 'typical' },
] as const

type Type = (typeof CuisineTypeOptions)[number]['value'] // -> string
// Code 2
const CuisineTypeOptions = [
  { label: 'Traditional', value: 'traditional' },
  { label: 'Typical', value: 'typical' },
] as const

type Type = (typeof CuisineTypeOptions)[number]['value'] // -> 'traditional' | 'typical'

Mình muốn Type hoạt động như Code 2 nhưng sử dụng CuisineTypeOptions ở Code 1 thì có cách nào không nhỉ?

1 CÂU TRẢ LỜI


Đã trả lời thg 5 23, 2024 2:32 SA
0
// Code 1
const CuisineTypeOptions: { label: string; value: 'traditional' | 'typical' }[] = [
  { label: 'Traditional', value: 'traditional' },
  { label: 'Typical', value: 'typical' },
] as const

type Type = (typeof CuisineTypeOptions)[number]['value'] // -> 'traditional' | 'typical'
Chia sẻ
thg 5 23, 2024 2:34 SA

@umi0063 nếu viết như vậy khi muốn thêm 1 item vào CuisineTypeOptions mình lại phải thêm một giá trị mới cho value á, nó lại mất đi tính tiện lợi ý

Avatar Chung @umi0063
thg 5 23, 2024 2:49 SA

@thangly98 giá trị động bạn thêm vào hay có từ trước?

thg 5 23, 2024 3:11 SA

@umi0063 có từ trước ạ, nhưng mình phòng hờ giá trị đó sau này lại được thêm nữa