首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >REDUX -如何导入返回Promise的API函数,并将其添加到action creator上的有效负载中

REDUX -如何导入返回Promise的API函数,并将其添加到action creator上的有效负载中
EN

Stack Overflow用户
提问于 2018-07-29 04:39:15
回答 1查看 143关注 0票数 0

我的Redux是生锈的,至少可以说,我正在尝试从返回Promise的API导入函数。我想将这个Promise添加到action creator的有效负载中,但它抱怨TypeError: Cannot read property 'getBetList' of undefined

这是我的动作创建者:

import { getBetList, getLatestPrices } from '../api/index';
export const GET_BET_LIST = 'GET_BET_LIST';
export const GET_LATEST_PRICES = 'GET_LATEST_PRICES';


export function fetchBetList() {
  const response = this.getBetList();

  return {
    type: GET_BET_LIST,
    payload: response
  }
}

export function fetchLatestPrices() {
  const response = this.getLatestPrices();

  return {
    type: GET_LATEST_PRICES,
    payload: response
  }
}

我假设从API收到的Promise将在有效负载上可用,将流经redux-promise,并最终获得我需要的数据,但它停止并返回错误,它无法读取getBetList?在这里,我在导入时做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-07-29 04:46:14

您应该直接使用getBetList & getLatestPrices,因为您是在文件顶部导入它的。从下面的行中删除this将修复您的错误。

const response = this.getBetList();
                 ^^^^

这里也是一样

const response = this.getLatestPrices();

顺便说一句,它也不会工作,你应该使用异步流程,就像这样:

export function fetchLatestPrices() {
  return (dispatch) => {
    getLatestPrices()
      .then(response => dispatch({type: GET_LATEST_PRICES, payload: response}));

  }
}

有关async actions的更多信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51575095

复制
相关文章

相似问题

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