업데이트:

카테고리:

/

태그: , , ,

array<object> 타입 지정하기

data = {
atcId: "L2022092200000047",
lstPlace: "과천역 사당행 방면",
lstPrdtNm: "루이까또즈 카드지갑",
lstSbjt: "루이까또즈 카드지갑",
lstYmd: "2022-09-19",
prdtClNm: "지갑 > 기타 지갑",
rnum: 1
}

type datatype = [{
	atcId: String,
  lstPlace: String,
  lstPrdtNm: String,
  lstSbjt: String,
  lstYmd: String,
  prdtClNm: String,
  rnum: Number
}]

state의 값과 data 타입을 맞추어 줬는데 해당 오류가 발생하였다.

type이 아니라 interface 로 data의 초기 타입을 지정하고 useState에 넣어주었다.

interface datatype {
    atcId: String,
    lstPlace: String,
    lstPrdtNm: String,
    lstSbjt: String,
    lstYmd: String,
    prdtClNm: String,
    rnum: Number
  }

  const [test, setTest] = useState<datatype | object[]>([{
    atcId: '',
    lstPlace: '',
    lstPrdtNm: '',
    lstSbjt: '',
    lstYmd: '',
    prdtClNm: '',
    rnum: 0
  }]);

해당 interface로 활용하면 object 타입으로 넘어가 map 함수를 사용할 수 없었다.

그래서 Array object 타입을 만들어 주기위해서

// interfact object [] aksemfrl
interface datatype extends Array<datatype> {}

해당 코드를 datatype 아래에 추가해주었다.