react Argument of type Object[]
is not assignable to parameter of type SetStateAction<datatype | null>
.
업데이트:
카테고리: react_error
/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
아래에 추가해주었다.