Yêu cầu May 23rd, 2:26 a.m. 43 0 1
  • 43 0 1
0

typeof array[number][key] not return const

Chia sẻ
  • 43 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 May 23rd, 2:32 a.m.
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ẻ
May 23rd, 2:34 a.m.

@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
May 23rd, 2:49 a.m.

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

May 23rd, 3:11 a.m.

@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í