TypeError:Webpack导入的模块不是函数

我有一个可以计算工作班次的后端。 我正在尝试在服务/班次中使用模块发布一些必需的用户输入。 getAll方法可以正常工作,但是发布会引发错误

TypeError:_services_shifts__WEBPACK_IMPORTED_MODULE_2 __。default.postData不是一个函数

Shiftservice模块:

import axios from 'axios'
const baseUrl = '...'

const getAll = () => {
    const request = axios.get(baseUrl)
    return request.then(response => response.data)
}
const postData = newObject => {
    const request = axios.post(baseUrl, newObject)
    return request.then(response => response.data)
}

export default {getAll, postData}

我有一个按钮,单击时会触发以下调用代码:

import shiftService from './services/shifts'

  const postData = (event) => {
    event.preventDefault()
    const sampleObject = {
      sampleField: sample
    }
    shiftService
      .postData(sampleObject)
      .then(returnedData => {
        console.log(returnedData)
      })
}

当执行到达shiftService.postData时,将引发错误。

我真的很困惑,因为我基本上是在复制我的一个较旧的项目,但是可以在这里找到问题。预先感谢您对新来者的帮助!

评论
  • fharum
    fharum 回复

    我认为这是因为您将函数声明为箭头函数 并以这种方式导出:

    export default {getAll, postData}

    您需要将它们声明为正常函数 函数postData(){ }