tengo la matriz:
const studyTypes = [ { value: "ENG", label: "ENG-RU", }, { value: "RU", label: "RU-ENG", }, ];Y el estado:
const [typeStudy, setTypeStudy] = React.useState<string>("ENG"); ¿Cómo puedo especificar en mecanografiado que mi typeStudy solo puede tomar uno de los value de la matriz studyTypes en lugar de un <string> ? En este caso, el typeStudy puede ser "ENG" o "RU".
Si pudiera declarar StudyTypes como const, debería ser así:
const studyTypes = [ { value: "ENG", label: "ENG-RU", }, { value: "RU", label: "RU-ENG", }, ] as const; // as const is important for this step type Value = typeof studyTypes[number]['value']; const testValue: Value = "PQR" // This will throw a type error.Esto solo funcionará con Typescript v3.4 o superior.
Aquí hay un ejemplo de mi VSCode verificando errores de pelusa: 
Puede definir un nuevo tipo como tipo literal.
type TypeStudy = "ENG" | "RU";y entonces
React.useState<TypeStudy>