타입을 리터럴로 정의하고, 해당 타입을 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 이 아니라 내가 지정해놓은 타입이라고 명시하는 작업으로 해결했다.