내가 객체 타입의 데이터를 매개변수로 넘겨줄 때 그 매개변수의 타입을 string으로 해놓고 넘겨주고 있어서 발생한 오류였다.
타입을 일일이 지정해서 넘겨주는 데이터와 전달하는 파라미터 사이의 데이터 타입이 일치해야 한다.
예를 들어서, 요로코롬 쓰고 있었다면
const data = {
name: 'jemerald',
age: 26,
job: 'developer',
}
const onSubmit = (item: string) => {
console.log('item', item)
}
1. 데이터 자체를 바꾸겠다 (좀 비추)
// 타입만 string으로 취급하는 객체
const data = "{ name: 'jemerald', age: 26, job: 'developer'}"
const onSubmit = (item: string) => {
// 그럼 여기서 이렇게 변환해주면 되지 않을까
const data = JSON.parse(item)
console.log('name', data.name)
}
2. 파라미터 타입을 바꾸겠다.
// 타입만 string으로 취급하는 객체
interface Item: {
name: string
age: number
job: string
}
const data = {
name: 'jemerald',
age: 26,
job: 'developer',
}
const onSubmit = (item: Item) => {
console.log('name', item.name)
}
타입스크립트는 거짓말하지 않는다..!!
'typescript' 카테고리의 다른 글
23.01.29 Union Type (0) | 2023.01.29 |
---|---|
22.02.24 default parameter (0) | 2022.02.24 |
22.02.18 interface extends 안될 때, Omit (0) | 2022.02.20 |
21.12.23 [typescript] setState props로 넘길 때 Dispatch (1) | 2021.12.23 |
21.12.12 'Element[]' 형식에 'ReactElement<any, any>' 형식의 type, props, key 속성이 없습니다. (0) | 2021.12.12 |