반응형
내가 객체 타입의 데이터를 매개변수로 넘겨줄 때 그 매개변수의 타입을 string으로 해놓고 넘겨주고 있어서 발생한 오류였다.
타입을 일일이 지정해서 넘겨주는 데이터와 전달하는 파라미터 사이의 데이터 타입이 일치해야 한다.
예를 들어 아래와 같이 입력하고 있었다면
const data = {
name: '5kiran',
age: 30,
job: 'developer',
}
const userInfo = (user: string) => {
console.log('user', user)
}
이를 해결하기 위한 방법
1. 객체 형태를 문자열 형태로 변환
// 타입만 string으로 취급하는 객체
const user = "{ name: '5kiran', age: 30, job: 'developer'}"
const onSubmit = (user: string) => {
// 그럼 여기서 이렇게 변환해주면 되지 않을까
const data = JSON.parse(user)
console.log('name', user.name)
}
2. interface 정의하기
// 타입만 string으로 취급하는 객체
interface User: {
name: string
age: number
job: string
}
const user = {
name: '5kiran',
age: 30,
job: 'developer',
}
const userInfo = (user : User) => {
console.log('name', user.name)
}
반응형
'트러블 슈팅' 카테고리의 다른 글
검색을 기능 개선을 위한 Elastic Search사용 (0) | 2023.03.21 |
---|---|
최종프로젝트 성능 개선을 위한 고민 (0) | 2023.03.03 |
NestJs 패키지 설치 무한 로딩 (0) | 2023.02.09 |
23/01/11 WebSocket Buffer ?? (1) | 2023.01.11 |
Node Cannot set headers after they are sent to the client 에러 (0) | 2023.01.04 |
댓글