代码之家  ›  专栏  ›  技术社区  ›  Hsueh-Jen

Redux Saga generator函数返回嵌套的json对象,这不是我想要的

  •  0
  • Hsueh-Jen  · 技术社区  · 8 年前

    当我使用 call 要获取api,应该只返回一个字符串。但它返回一个JSON对象。

    例如:

    • 当我打电话时 const product = yield call(api.fetchProductAPI);
    • 我希望是 const product = "iphone";
    • 但会的 const product = { product: 'iphone' };

    有人知道这是怎么回事吗?谢谢

    =====================

    检查下面的代码

    https://gist.github.com/Hsueh-Jen/f1459d19dfe01c525cbb55c8426e410e

    和下面的错误消息

    https://i.stack.imgur.com/wmRPC.png

    1 回复  |  直到 8 年前
        1
  •  0
  •   Martin Kadlec    8 年前

    这是你测试中的一个错误。该行:

    expect(gen.next({ product }).value).toEqual(put({ type: 'PRODUCTS_RECEIVED', product: 'iphone' }));
    

    应该是

    expect(gen.next(product).value).toEqual(put({ type: 'PRODUCTS_RECEIVED', product: 'iphone' }));