首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数类型'saga‘和'saga’是不兼容的。

参数类型'saga‘和'saga’是不兼容的。
EN

Stack Overflow用户
提问于 2020-02-04 02:48:25
回答 1查看 467关注 0票数 2

我有下一个代码:

代码语言:javascript
复制
const sagaMiddleware = createSagaMiddleware(options);
.
.
.
const createdStore = createStore(
    create(),
    state,
    someMiddleware,
  ) as someStore;

createdStore.runSaga = sagaMiddleware.run; // error here

在升级到最新的redux-saga 1.1.3变体之前,它工作得很好。现在我得到了下一个错误:

代码语言:javascript
复制
Type '<S extends Saga<any[]>>(saga: S, ...args: Parameters<S>) => Task' is not assignable to type '(saga: (() => IterableIterator<any>) | undefined, args: any) => any'.
  Types of parameters 'saga' and 'saga' are incompatible.
    Type '(() => IterableIterator<any>) | undefined' is not assignable to type 'Saga<any[]>'.
      Type 'undefined' is not assignable to type 'Saga<any[]>'.

怎么才能修好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-16 11:06:31

我在使用redux-boilerplate-typescript时也遇到了同样的问题。最后,我在type/index.d.ts中执行了以下操作:

代码语言:javascript
复制
import { Saga } from '@redux-saga/types';

然后我改变了

代码语言:javascript
复制
export interface InjectedStore extends Store {
  injectedReducers: any;
  injectedSagas: any;
  runSaga(
    saga: (() => IterableIterator<any>) | undefined,
    args: any | undefined,
  ): any;
}

代码语言:javascript
复制
export interface InjectedStore extends Store {
  injectedReducers: any;
  injectedSagas: any;
  runSaga(
    saga: Saga | (() => IterableIterator<any>) | undefined,
    args: any | undefined,
  ): any;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60049879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档