Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
redux可观察到的epic typescript警告:';商店';已声明,但从未读取其值_Typescript_Redux_Redux Observable_Redux Store - Fatal编程技术网

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>