redux可观察到的epic typescript警告:';商店';已声明,但从未读取其值
我有一个redux可观察到的epic typescript警告:';商店';已声明,但从未读取其值,typescript,redux,redux-observable,redux-store,Typescript,Redux,Redux Observable,Redux Store,我有一个redux可观察史诗,如下所示 export const fetchUserEpic:Epic<Action, RootState, any> = (action$: ActionsObservable<Action>, store: MiddlewareAPI<RootState> , { getJSON } ): Observable<Action> => action$.filter((action:
redux可观察史诗
,如下所示
export const fetchUserEpic:Epic<Action, RootState, any> =
(action$: ActionsObservable<Action>, store: MiddlewareAPI<RootState> , { getJSON } ): Observable<Action> =>
action$.filter((action: Action) => action.type === actionTypes.FETCH_USER)
.mergeMap( (action: Action) =>
getJSON(`/api/user/${action.payload}`)
.map((response: any) => Actions.fetchUserSuccess(response))
)
如何解决此问题我知道它有点脏,但我不知怎么找到了解决此问题的方法,它解决了警告 从代码中:
export const fetchUserEpic:Epic<Action, RootState, any> =
(action$: ActionsObservable<Action>, store: MiddlewareAPI<RootState> , { getJSON } ): Observable<Action> =>
action$.filter((action: Action) => action.type === actionTypes.FETCH_USER)
.mergeMap( (action: Action) =>
getJSON(`/api/user/${action.payload}`)
.map((response: any) => Actions.fetchUserSuccess(response))
)
警告得到解决。如果我需要在epic中使用存储,我可以简单地在函数参数中定义
存储
变量。这是TypeScript NonuUsedParameters的一个linting错误,也就是没有未使用的变量设置。这意味着您的函数定义了store
参数,但实际上没有使用它。要修复此问题,您可以在store参数前面加下划线\u store
,它将忽略它,或者您可以从tsconfig或编译器标志中删除linting选项
(action$: ActionsObservable<Action>, _store: MiddlewareAPI<RootState> , { getJSON } ): Observable<Action>
(action$:ActionsObservable,_store:MiddlewareAPI,{getJSON}):可观察
这是因为TypeScript编译器显式地将此约定添加为linting规则的例外。这正是为这类病例所做的。非常好。你的答案很有魅力,而且不脏。如果我需要使用store,我还可以引用
\u store
变量。但是你能解释一下为什么\u商店能工作吗@很高兴听到!这是因为TypeScript编译器显式地将此约定添加为linting规则的例外。这正是为这类案件所做的。
export const fetchUserEpic:Epic<Action, RootState, any> =
(action$: ActionsObservable<Action>, {}: MiddlewareAPI<RootState> , { getJSON } ): Observable<Action> =>
action$.filter((action: Action) => action.type === actionTypes.FETCH_USER)
.mergeMap( (action: Action) =>
getJSON(`/api/user/${action.payload}`)
.map((response: any) => Actions.fetchUserSuccess(response))
)
(action$: ActionsObservable<Action>, _store: MiddlewareAPI<RootState> , { getJSON } ): Observable<Action>