Typescript reducer object key type
문제
reduce
를 이용해 빈 객체에 대상 배열의 string 값을 key로 사용해 값을 지정하려고 했더니 타입 에러가 발생했다.
1 | const arr = [{name: 'a', value: 'val-a'}, {name: 'b', value: 'val-b'}, {name: 'c', value: 'val-c'}]; |
acc[key] Element implicitly has an ‘any’ type because expression of type’string’ can’t be used to index type ‘{}’.
해결법
reducer의 초기 값으로 넣은 empty object에 타입이 지정되지 않아 생기는 문제다. Record<string, any>
로 지정하면 된다.
1 | const arr = [{name: 'a', value: 'val-a'}, {name: 'b', value: 'val-b'}, {name: 'c', value: 'val-c'}]; |
이 블로그의 모든 글은 CC BY-NC-SA 4.0 라이선스를 따르며, 별도로 명시되지 않는 한 모든 권리를 보유합니다. 재배포 시 출처를 명시해 주세요: StudyYeong.