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

typeof array[number][key] not return const

Chia sẻ
  • 58 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, 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, 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, 2:49 SA

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

thg 5 23, 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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí