【问题标题】:fetch in redux action does nothingredux 操作中的 fetch 什么都不做
【发布时间】:2019-07-06 16:40:03
【问题描述】:

我正在尝试重构我的应用程序,以便它可以与 redux 一起使用。我有一个 redux 操作,其中第一个 console.log 产生输出(下面的第 3 行显示了 api url)。没有看到其他输出。 catch 似乎也没有被调用(我测试过)。

fetch 似乎什么也没做。然而,当提取代码位于 componentWillMount 中的原始位置(重构之前)时,提取代码仍然有效。

我的抓取有什么问题?感谢您的帮助!

export function getPlatzBelegungen(court, day1, day2) {
  const url = HOSTNAME + "/intern/api/platz.php?op=ra&p=" + court + "&ds=" + day1 + "&de=" + day2;
  console.log(url);
  
  return function(dispatch) {
    return fetch(url)
    .then(result => {
      if (result.ok) {
        console.log("###>>> result.ok");
          return result.json();
        } else {
          throw new Error('Fehler beim Laden der Platzbuchungsdaten');
        }
    })
    .then(result => {
        console.log("###>>> courtData berechnen");
        let courtData = result.records.map ( r => {
        let k = r.id;
        let cn = computeBelClasses (r.starts_at, r.ends_at);
        console.log("PLATZ:" + r.court)
        let spieler = 
            r.p1 
          + (r.p2 ? ', ' + r.p2 : ' ') 
          + (r.p3 ? ', ' + r.p3 : ' ') 
          + (r.p4 ? ', ' + r.p4 : ' ');
        return ( 
          <Link key={k} to={'/belegungsdetails/' + r.id}>
            <div key={k} className={cn}>
              <strong>{r.starts_at.substring(11,16)} </strong>
              {spieler}
            </div>
          </Link>
        )
      })
      dispatch({ type: BELEGUNGEN_LOADED, payload: courtData });
    })
    .catch(
      dispatch({ type: BELEGUNGEN_LOAD_FAILED, payload: [] }));
  };

};

【问题讨论】:

  • .catch( dispatch({ type: BELEGUNGEN_LOAD_FAILED, payload: [] })) 的预期结果是什么? dispatch() 是否返回函数?

标签: javascript reactjs redux fetch-api


【解决方案1】:

我猜你可能在获取时遇到了一些错误。您的 catch 部分需要将一个函数传递给它。喜欢

.catch(error => {
    dispatch({ type: BELEGUNGEN_LOADED, payload: courtData });
});

【讨论】:

  • 不幸的是删除“return”没有帮助
猜你喜欢
  • 2020-07-08
  • 2015-02-02
  • 1970-01-01
  • 2015-07-18
  • 1970-01-01
  • 2019-03-08
  • 2016-12-24
  • 2017-04-18
  • 2011-08-03
相关资源
最近更新 更多