반응형
TypeScript의 스위치 문에서 "유형이 유형과 비교할 수 없음" 오류
마지막 사례 조치를 추가하기 전까지 스위치 문장이 완벽하게 작동했음유형.POST_PROESSGUIDE_ANSWER_SUPTYSGUIDE.
import * as actionTypes from "../action-types/prosessguide-async"
import { ProsessguideAsyncAction } from "../actions/prosessguide-async"
import initialState from "../constants/initial-state"
import { IProsessguideAsyncState } from "../types/prosessguide"
const prosessguideAsyncReducer = (
state: IProsessguideAsyncState = initialState.prosessguideAsync,
action: ProsessguideAsyncAction,
): IProsessguideAsyncState => {
switch (action.type) {
case actionTypes.REQUEST_PROSESSGUIDE: {
return {
...state,
data: undefined,
error: undefined,
isFetching: true,
}
}
case actionTypes.RECEIVE_PROSESSGUIDE: {
return {
...state,
data: action.data,
isFetching: false,
}
}
case actionTypes.FETCH_ERROR_PROSESSGUIDE: {
return {
...state,
error: action.error,
isFetching: false,
}
}
case actionTypes.POST_PROSESSGUIDE_ANSWERS: {
return {
...state,
isFetching: true,
}
}
case actionTypes.POST_PROSESSGUIDE_ANSWERS_SUCCESS: {
return {
...state,
isFetching: false,
submitted: true
}
}
default:
return state
}
}
export default prosessguideAsyncReducer
src/조치/prosessguide-c.ts
export type ProsessguideAsyncAction =
IRequestProsessguideAction |
IReceiveProsessguideAction |
IPostProsessguideAction |
IFetchErrorProsessguideAction |
IPostProsessguideAnswersSuccess
src/조치/prosessguide-c.ts
export interface IPostProsessguideAnswersSuccess {
type: actionTypes.POST_PROSESSGUIDE_ANSWERS_SUCCESS
}
Type '"POST_PROSESSGUIDE_ANSWERS_SUCCESS"' is not comparable to type '"REQUEST_PROSESSGUIDE" | "RECEIVE_PROSESSGUIDE" | "POST_PROSESSGUIDE_ANSWERS" | "FETCH_ERROR_PROS...'.
이제 tsc가 이 오류를 반환하는 중:
src/reducers/prosessguide-async.ts(39,10): error TS2678:
Type '"POST_PROSESSGUIDE_ANSWERS_SUCCESS"'
is not comparable to type
'"REQUEST_PROSESSGUIDE" | "RECEIVE_PROSESSGUIDE" | "FETCH_ERROR_PROSESSGUIDE" |
"POST_PROSESSGUIDE...'.
tsc 버전 5.6.0을 사용하고 있다.
알고 보니 덧붙이는 것을 잊었었다.IPostProsessguideAnswersSuccess
에게ProsessguideAsyncAction
접점
전체 작업 예제로 업데이트된 원본 게시물.
내가 메세지를 받았을때:XXX is not comparable to type YYY
Reducer의 스위치에서, 내가 웹팩 개발 서버를 다시 시작해야 했던 것은 그것이 어떤 이유로 소스 코드를 재구축하지 않았기 때문이다.
내 암호는 완벽히 괜찮았어
유형 + 반응 + 환원
작업에서 유형을 사용하기 전에 작업에 유형을 추가했는지 확인하십시오.reducer switch case
.
반응형
'IT이야기' 카테고리의 다른 글
vue js에서 특정 구성 요소로 리디렉션하는 방법 (0) | 2022.04.01 |
---|---|
Ract Router에서 브라우저 기록 푸시를 사용할 때 경로 매개 변수를 전달하는 방법 (0) | 2022.04.01 |
초기 v-선택 값 설정 (0) | 2022.04.01 |
계산된 속성이 읽기 전용 입력에서 업데이트되지 않음 (2) | 2022.03.30 |
파일 업로드(vuetify) (0) | 2022.03.29 |