[TypeScript] 리터럴 타입 setState 할 때,

Hyunwoo Seo·2023년 11월 26일
0

TypeScript

목록 보기
2/4
post-thumbnail

타입을 리터럴로 정의하고, 해당 타입을 setState 에 적용시키려했더니 아래처럼 에러가 나타났다.

Sets or retrieves the value which is returned to the server when the form control is submitted.

'string' 형식의 인수는 'SetStateAction<"a" | "b" | "c" | undefined>' 형식의 매개 변수에 할당될 수 없습니다.

하려고 했던 작업은 select 의 onChange 함수 value 값을 set 시키는 작업이다.

...
const testHandle = (e: ChangeEvent<HTMLSelectElement>) => {
    setTest(e.target.value);
}
...
<select onChange={testHandle} defaultValue={'a'}>
    <option key={'createdAt'} value={'a'}>TEST A</option>
    <option key={'like'} value={'b'}>TEST B</option>
    <option key={'comment'} value={'c'}>TEST C</option>
</select>
...

setTest(...) 에 들어가는 값이 string 이 아니라 내가 지정해놓은 타입이라고 명시하는 작업으로 해결했다.

0개의 댓글