提取api捕获在React组件渲染期间发生的异常

时间:2018-07-12 15:29:38

标签: redux fetch-api

我有一个这样的动作创建者:

export function createTransaction (customerId) {
  return (dispatch) => {
    return fetch(`/api/customers/${customerId}/transactions`, {
      method: 'post'
    })
      .then(response => {
        dispatch(receiveNewTransaction())
      })
      .catch(err => { 
        console.log(err)
        alert('Something went wrong while creating transaction', err)
      })
  }
}

分派的值导致重新呈现组件树。 在其中一个组件的内部render方法中,在树的深处,有一个像这样的函数:

transactions.map(item => item)

奇怪的是,上面的“事务”不是一个数组,因此不会发生异常,这是完全可以的。不好玩(imo)是动作创造者开始捕捉兴奋!正常吗?

因此,当api调用完成时,我在浏览器控制台中看到一条错误消息,随后是警报。这是错误消息:

TypeError: transactions.map is not a function

0 个答案:

没有答案