에러 전문:
The 'this' context of type 'void' is not assignable to method's 'this' of type 'Observable<unknown>'.ts(2684)
No overload matches this call.
Overload 1 of 11, '(op1: OperatorFunction<any, unknown>, op2: OperatorFunction<unknown, unknown>): Observable<unknown>', gave the following error.
Argument of type 'Observable<never>' is not assignable to parameter of type 'OperatorFunction<unknown, unknown>'.
Type 'Observable<never>' provides no match for the signature '(source: Observable<unknown>): Observable<unknown>'.
Overload 2 of 11, '(…operations: OperatorFunction<any, unknown>[]): Observable<unknown>', gave the following error.
Argument of type 'Observable<never>' is not assignable to parameter of type 'OperatorFunction<any, unknown>'.
Type 'Observable<never>' provides no match for the signature '(source: Observable<any>): Observable<unknown>'.ts(2769)
리덕스 타입스크립트로 obervable epic initializer 파일을 작성하는데,
분명히 다른 epic intializer파일과 비교했을 때 똑같은!!! 구조로 코드를 적었는데도
init() 함수에서도, merge() 함수에서도 계속 이 에러가 나서 열심히 구글링을 해봤습니다...
보니까 정말 사소한 오류였습니다🥹
**import 문 변경**
제 Import문은 'rxjs/operator/mergeMap' 여기서 가져오고 있었는데,
이걸 아래 코드로 수정해 주면 돼요!
import {mergeMap} from "rxjs/operators";
참고로 위에 적은 에러문은 mergeMap함수에서 나는 거였고, init() 함수에선 다음과 같은 에러가 나고 있었습니다.
Property 'init' in type 'SelectedSubtitleAlignmentEpicInitializer' is not assignable to the same property in base type 'EpicInitializer<Action<any>, any, any>'.
Type '() => (action$: ActionsObservable<any>) => Observable<unknown>' is not assignable to type '() => Epic<Action<any>, any, any>'.
Call signature return types '(action$: ActionsObservable<any>) => Observable<unknown>' and 'Epic<Action<any>, any, any>' are incompatible.
Type 'Observable<unknown>' is not assignable to type 'Observable<Action<any>>'.
Type 'unknown' is not assignable to type 'Action<any>'.ts(2416)
이... import문 하나 때문에... mergeMap 뿐만 아니라 init()함수에도 빨간줄 그어져 있는 거 보이시죠..
몇 시간 동안 영문을 모르겠어서 스트레스받고 있었는데,,,,
import문 하나 바꾼 걸로 에러 싹 해결 ㅠ
오늘도 컴퓨터는 잘못이 없다는 사실을 다시 한번 뼈저리게 느끼며,,,
import 할 때 어디서 하는지 다시 한번 확인하고 하자는 교훈을 머릿속에 새겨갑니다,,,
'Frontend' 카테고리의 다른 글
[React/Typescript] Button onClick, useRef로 파일 업로드 하기 (input type='file', label 사용x) (0) | 2024.06.27 |
---|---|
React Html CSS로 텍스트 밑줄 색 커스텀 하기, custom span text wavy curly underline color (2) | 2023.11.03 |
[React Redux] Async actions, Redux Thunk Middleware (0) | 2023.09.22 |
[React Redux] Redux Middleware, redux-logger (0) | 2023.09.22 |
React Redux 기초 개념 정리 - Redux Middleware, redux-logger (0) | 2023.09.22 |